計算成本
回答
第二是O(log* n)
其中log *
是iterated logarithm。
分析第一個得出這樣的事:
sqrt(n) = n^(1/2)
sqrt(sqrt(n)) = n^(1/4)
sqrt(sqrt(sqrt(n))) = n^(1/8)
...
sqrt applied k times = n^(1/2^k)
認爲第一算法執行k
倍(基本上,我們的次數適用sqrt
直到n <= 2
)。
考慮這樣一個道理:
n^(1/2^k) = p (p <= 2) |^(2^k)
n = p^(2^k) | log
log n = (2^k) log p | log
log log n = log (2^k) + log log p
log log n = klog2 + log log p
=> k ~= log log n
所以第一個算法是O(log log n)
。
n = log2(n);
while (n > 1)
n = n/2;
多少次,你需要以一個減半數達到1:
我也認爲同樣的事情(類似於log2(log2(n)),但我不確定,第二個? – BlackShadow 2010-06-27 11:33:35
@黑色陰影 - 簡單地使用這些公式:1. sqrt(n)= n ^(1/2); 2.(a^b)^ c = a ^(b * c) log(a * b)= log a + log b; 4. log(a^b)= b * log a'這就是你需要證明的全部內容 – IVlad 2010-06-27 11:39:00
我想你也使用了big-O的專有名詞來刪除「1/log 2」和「log log p/log 2」。 – ony 2010-06-27 12:26:16
如果重鑄它在對數域中的答案,第一個應該變得明顯嗎? O(log n)。
- 1. 計算成本
- 2. R - 計算腳本的計算成本
- 3. Google計算成本?
- 4. 計算銷貨成本
- 5. 物品的計算成本?
- 6. 計算平均成本
- 7. 如何計算S3成本
- 8. 距離成本計算器
- 9. 計算平均成本
- 10. 計算條件成本
- 11. 計算Java啓動成本
- 12. typedef的計算成本
- 13. 中的R算術的計算成本
- 14. 如何計算CPU的計算成本與發送數據到GPU的成本+執行計算+獲取數據?
- 15. AWS計算器 - 如何保留實例成本得到計算?
- 16. 我如何計算機場計算器的成本?
- 17. 如何計算AWS SDK中每月的計算器成本?
- 18. 創建一個計算值來計算成本不起作用
- 19. MySQL查詢來計算總成本
- 20. 如何計算訂單成本
- 21. 如何計算mst圖的成本。
- 22. Oracle物化視圖計算成本
- 23. 浮點大小的計算成本
- 24. 計算混濁託管成本
- 25. 成本金額的計算物理
- 26. 在SQL中計算庫存成本
- 27. 計算Azure數據庫的成本
- 28. 爪哇航運成本計算器
- 29. 計算機「VBS腳本的成員」
- 30. 使用Javascript的成本計算器
作業嗎? – kennytm 2010-06-27 11:04:53
不,這只是我的好奇心(我在一個論壇上看到了問題,我變成了好奇)。 :) – BlackShadow 2010-06-27 11:17:29
它寧可取決於n的表示 - 對於任意精度,sqrt(n)本身是O(log n) – 2010-06-28 10:54:20