2 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
是的。
考慮遞歸函數(shù)復(fù)雜性的另一種方式是(調(diào)用數(shù)量)**(遞歸樹的高度)
在每次調(diào)用中,您進(jìn)行兩次調(diào)用,將 n 除以 2,因此樹的高度為 logn,因此時(shí)間復(fù)雜度為 2**(logn),即 O(n)
在此處查看更正式的證明:
https://cs.stackexchange.com/questions/69539/time-complexity-of-recursive-power-code

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
每次你將 n 除以 2 時(shí),除非 n <= 1。所以想想有多少次你可以通過除以 0 將 n 減少到 1?讓我們來(lái)看看,
n = 26 n1 = 13 n2 = 6(占 13/2 的樓層) n3 = 3 n4 = 1(占 3/2 的樓層)
假設(shè) 2 的 x_th 次方大于或等于 x。然后,
2^x >= n
or, log2(2^x) = log2(n)
or, x = log2(n)
這就是您如何找到算法的時(shí)間復(fù)雜度為 log2(n)。
- 2 回答
- 0 關(guān)注
- 220 瀏覽
添加回答
舉報(bào)