如何获得大O(最坏情况)递归nCr
公式:
1. nCr =(n-1)C(r-1)+(n-1)Cr
2. nCn = 1且nC0 = 1
例如,在mergesort的情况下,我们知道
T(N)= 2T(N / 2)+ CN
从这个等式我们可以得出结论,算法的复杂性是nlogn
从上面的公式可以告诉我问题的复杂性
答案 0 :(得分:-1)
您可以按照提到的那样采用复杂性路线。但是我发现下面的方法很容易理解。
nCr = n!/((n−r)!k!)
= (1/r!) * (n(n−1)(n−2)…(n−r+1))
= (1/r!) * n^r⋅(1(1−1/n)(1−2/n)…(1−r/n))
现在(1(1-1 / n)(1-2 / n)...(1-r / n)) - > 1为n->给定r的无穷大
对于给定的r
,(1 / r!)也是O(1)
This gives O(nCr) = O(n^r)