[英]recursive combination time-complexity Analysis
T(n)中遞歸二項式系數的指數時間復雜度的任何解釋
int C(int n, int k){
if(n==k || k==0)return 1;
return C(n-1, k) + C(n-1, k-1);
}
令T(a,b)
為函數C(a,b)
在C(n,k)
的遞歸調用樹中被調用的次數。 由於C(a,b)
被來自兩個稱為C(a+1,b)
和C(a+1,b+1)
各任何這些2的被調用時),我們得到T(a,b)=T(a+1,b)+T(a+1,b+1)
。 這是Pascal的三角形公式 :遞歸調用樹的最后一級中的T
s構成Pascal三角形的第n
級,因此與n
呈指數關系(不包括邊緣情況,例如k=1
或k=n
,因此例如k=n/2
)。
如果緩存結果,則可以使算法的時間為O(n*k)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.