Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 大O和大Omega表示法算法_Algorithm_Sorting_Big O - Fatal编程技术网

Algorithm 大O和大Omega表示法算法

Algorithm 大O和大Omega表示法算法,algorithm,sorting,big-o,Algorithm,Sorting,Big O,有一种基于比较的排序算法运行在O(n*log(sqrt(n)))中。 假设存在用于排序的ω(n(log(n))下界,这怎么可能呢?基本上,这个问题要求你证明O(n*log(n))=O(n*log)(√n) ),这意味着您需要找到一些常数c>0,以便:O(n*log(n))=O(c*n*log(√n) )。记住这一点√n=n^(1/2)和log(n^(1/2))=1/2*log(n)。现在我们有了O(n*log(n))=O(1/2*n*log(n))。因为渐近符号忽略了常数乘数,所以我们可以将其重

有一种基于比较的排序算法运行在O(n*log(sqrt(n)))中。
假设存在用于排序的ω(n(log(n))下界,这怎么可能呢?

基本上,这个问题要求你证明O(n*log(n))=O(n*log)(√n) ),这意味着您需要找到一些常数c>0,以便:O(n*log(n))=O(c*n*log(√n) )。记住这一点√n=n^(1/2)和log(n^(1/2))=1/2*log(n)。现在我们有了O(n*log(n))=O(1/2*n*log(n))。因为渐近符号忽略了常数乘数,所以我们可以将其重写为O(n*log(n))=O(n*log(n))。瞧,证明这是可能的。

基本上,这个问题是要你证明O(n*log(n))=O(n*log)(n))=O(n*log(n))(√n) ),这意味着您需要找到一些常数c>0,以便:O(n*log(n))=O(c*n*log(√n) )。记住这一点√n=n^(1/2)和log(n^(1/2))=1/2*log(n)。现在我们有了O(n*log(n))=O(1/2*n*log(n))。因为渐近符号忽略了常数乘数,我们可以将其重写为O(n*log(n))=O(n*log(n)).Voila,证明这是可能的。

对于基于比较的排序算法,您可以绘制一棵决策树。它是一棵二叉树,表示该算法完成的比较,该树的每个叶都是给定集合中元素的排列

有n!个可能的排列,其中n是集合的大小,其中只有一个表示已排序的集合。指向每个叶的路径表示实现叶表示的排列所需的比较


现在让我们把h作为决策树的高度,l作为叶数。输入集的每个可能排列都必须在其中一个叶中,因此n!对于基于比较的排序算法,您可以绘制一个决策树。它是一个二叉树,表示算法所做的比较,该树的每个叶都是一个二叉树给定集合中元素的置换

有n!个可能的排列,其中n是集合的大小,其中只有一个表示已排序的集合。指向每个叶的路径表示实现叶表示的排列所需的比较


现在让我们把h作为决策树的高度,l作为叶数。输入集的每个可能排列都必须在其中一个叶中,所以n!在O(n*log(sqrt(n))中运行什么基于比较的排序算法?我应该澄清并说这是一个家庭作业问题。这一定是可能的,我只是不知道如何。似乎即使是基于量子计算的排序也不能比Omega(n log(n))做得更好。但是,完全愚蠢。如果你需要O(n log(sqrt(n))步骤,你需要O(1/2 n log(n))步骤…不确定这是否有帮助?好的,O(n log(sqrt(n))和O(n log(n))是同一类函数…什么基于比较的排序算法在O(n*log(sqrt(n))中运行?我应该澄清并说这是一个家庭作业问题。这一定是可能的,我只是不知道怎么做。似乎即使是基于量子计算的排序也不能比Omega(n log(n))做得更好。但是,完全愚蠢。如果你需要O(n log(sqrt(n))步骤,您需要O(1/2nLog(n))步骤…不确定这是否有帮助?好吧,O(nLog(sqrt(n)))和O(nLog(n))是同一类函数。。。