2
A
回答
4
您可能需要T(n)=T(⌊n/2⌋)+ T(⌈n/2⌉) + 1
。
讓我們計算T(n)
的前幾個值。
T(1) = 1
T(2) = 3
T(3) = 5
T(4) = 7
我們可以猜到T(n) = 2 * n - 1
。
基礎
T(1) = 1
T(2) = 3
T(3) = 5
T(4) = 7
歸納步
T(2*n) = T(⌊2*n/2⌋)+ T(⌈2*n/2⌉) + 1
= T(⌊n⌋)+ T(⌈n⌉) + 1
= (2*n - 1) + (2*n - 1) + 1
= 4*n - 1
= 2 * (2*n) - 1
T(2*n+1) = T(⌊(2*n+1)/2⌋)+ T(⌈(2*n+1)/2⌉) + 1
= T(n)+ T(n+1) + 1
= (2*n - 1) + (2*(n+1) - 1) + 1 =
= 4*n + 1 =
= (2*n+1)*2 - 1
由於兩個基礎和感應步驟已被證明的是,現在已經證明用數學歸納法T(n)適用於所有自然2 * n - 1。
T(n) = 2*n - 1 = O(n)
+0
+1。真的很好解釋! – 2012-04-04 18:18:05
0
你目前沒有任何意義。由於n
通常被認爲是一個自然數,所以n=⌊n⌋=⌈n⌉
。再次發現:將尺寸爲n
的問題分解爲尺寸爲n
的兩個問題,並花費時間1
這樣做。您剛創建的兩個新問題將依次進行拆分,等等 - 您所做的只是爲自己創造更多的工作。
相關問題
- 1. 時間以下代碼的複雜性..?
- 2. 空間複雜性復發
- 3. 以下算法的時間複雜度?
- 4. 以下算法的時間複雜度
- 5. 複雜性復發
- 6. 以下是什麼時間複雜度?
- 7. 解釋時間複雜性?
- 8. 時間複雜性檢查
- 9. 時間和空間複雜的語言複雜性
- 10. 時間複雜?
- 11. 時間複雜
- 12. 以下代碼的複雜性
- 13. 以下等式的空間複雜度
- 14. 時間操作的複雜性 - Python的
- 15. 數組插入的時間複雜性
- 16. 時間這雙循環的複雜性
- 17. 減少算法時間的複雜性
- 18. 時間for循環的複雜性
- 19. Python的複雜性(運行時間)
- 20. 分析算法的時間複雜性
- 21. 我算法的時間複雜性
- 22. 時間數據結構的複雜性
- 23. multimap的時間複雜性問題
- 24. 時間遞歸函數的複雜性
- 25. 計算時間代碼的複雜性
- 26. 時間代碼的複雜性
- 27. 如何減少時間的複雜性
- 28. 時間遞歸算法的複雜性
- 29. 下面代碼的時間複雜度?
- 30. 最壞情況下的時間複雜
你確定我不會忘記係數T(⌊n/2⌋)'中的係數'2'?你的再次發生沒有多大意義。 – pad 2012-04-04 16:14:16
這個重複將永遠不會收斂 – mbatchkarov 2012-04-04 16:15:01
但是我們在它的表達式中也有下限和上限 – Luv 2012-04-04 16:20:43