Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/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
Time complexity 二项系数函数的增长是阶乘还是多项式_Time Complexity_Big O_Binomial Coefficients - Fatal编程技术网

Time complexity 二项系数函数的增长是阶乘还是多项式

Time complexity 二项系数函数的增长是阶乘还是多项式,time-complexity,big-o,binomial-coefficients,Time Complexity,Big O,Binomial Coefficients,我写了一个算法,给定一个单词列表,必须检查该单词列表中四个单词的每个唯一组合(无论顺序如何) 要检查的组合数量,x,可以使用二项式系数计算,即x=n/(r!(n-r)!其中n是列表中的总字数,r是每个组合中的字数,在我的例子中总是4,因此函数是x=n/(4!(n-4)!=n/(24(n-4)!)。因此,随着总字数的增加,n增加了要检查的组合数,x,因此,按因数增加对吗 让我吃惊的是,WolframAlpha能够将这个函数重写为x=(n^4)/24− (n^3)/4+(11.n^2)/24− n/

我写了一个算法,给定一个单词列表,必须检查该单词列表中四个单词的每个唯一组合(无论顺序如何)

要检查的组合数量,
x
,可以使用二项式系数计算,即
x=n/(r!(n-r)!
其中
n
是列表中的总字数,
r
是每个组合中的字数,在我的例子中总是4,因此函数是
x=n/(4!(n-4)!=n/(24(n-4)!)
。因此,随着总字数的增加,
n
增加了要检查的组合数,
x
,因此,按因数增加对吗

让我吃惊的是,WolframAlpha能够将这个函数重写为
x=(n^4)/24− (n^3)/4+(11.n^2)/24− n/4
,那么现在它似乎随着
n
的增长而呈多项式增长?到底是哪一个


对于r的固定值,此函数为O(n^r)。在你的例子中,r=4,它是O(n^4)。这是因为分子中的大部分术语都被分母抵消了:

n!/(4!(n-4)!) 
   = n(n-1)(n-2)(n-3)(n-4)(n-5)(n-6)...(3)(2)(1) 
     -------------------------------------------
     4!(n-4)(n-5)(n-6)...(3)(2)(1)

   = n(n-1)(n-2)(n-3)
     ----------------
           4!
这是n中的一个四次多项式