Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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 插入排序下限以及为什么它与'1/(2^n)`'比较?_Algorithm_Sorting_Data Structures_Tree_Complexity Theory - Fatal编程技术网

Algorithm 插入排序下限以及为什么它与'1/(2^n)`'比较?

Algorithm 插入排序下限以及为什么它与'1/(2^n)`'比较?,algorithm,sorting,data-structures,tree,complexity-theory,Algorithm,Sorting,Data Structures,Tree,Complexity Theory,我有一个问题: 我们知道n*(1/(2^n))与2^n相比,那么插入排序呢?为什么它与1/(2^n)相比 我的意思是,为什么不像插入排序的例子那样,使用了2^n的反向呢?要在输入的f(n)部分上最多使用c(n)比较(有两种可能的结果),我们需要f(n)n!≤ 2^c(n)。在显示公式中,它们使用C(n)=n(这有点太简单了,因为它们需要考虑渐近常数,但无论如何)和f(n)=1/2 ^ n,得到所需的公式n!2^n≤ 2^n!≤ 4^n,对于较大的n失败 大概教科书的参考部分已经讨论过了,但是f

我有一个问题:

  • 我们知道
    n*(1/(2^n))
    2^n
    相比,那么插入排序呢?为什么它与
    1/(2^n)
    相比
  • 我的意思是,为什么不像插入排序的例子那样,使用了
    2^n
    的反向呢?

    要在输入的f(n)部分上最多使用c(n)比较(有两种可能的结果),我们需要f(n)n!≤ 2^c(n)。在显示公式中,它们使用C(n)=n(这有点太简单了,因为它们需要考虑渐近常数,但无论如何)和f(n)=1/2 ^ n,得到所需的公式n!2^n≤ 2^n!≤ 4^n,对于较大的n失败

    大概教科书的参考部分已经讨论过了,但是f(n)n!是我们需要区分的输入数量,2^c(n)是我们可以通过c(n)比较来区分的输入数量。

    要对f(n)部分的输入最多使用c(n)比较(有两种可能的结果),我们需要f(n)n!≤ 2^c(n)。在显示公式中,它们使用C(n)=n(这有点太简单了,因为它们需要考虑渐近常数,但无论如何)和f(n)=1/2 ^ n,得到所需的公式n!2^n≤ 2^n!≤ 4^n,对于较大的n失败


    大概教科书的参考部分已经讨论过了,但是f(n)n!是我们需要区分的输入数量,2^c(n)是我们可以通过c(n)比较来区分的输入数量。

    所以文本是错误的,对吗?对于“至少一半”,分母应该是2,而不是2^n?同样奇怪的是,下一段以“所有这些”开头,而这里只有一个案例。有点怀疑OP漏掉了书中的一些东西…@superbrain是的,因为文本是错的,对吗?对于“至少一半”,分母应该是2,而不是2^n?同样奇怪的是,下一段以“所有这些”开头,而这里只有一个案例。有点怀疑OP漏掉了一些书中的东西…@超级大脑是的