回答
讓n = 2^k
。我們有:
2^n = 2^(2^k)
n^log(n) = (2^k)^log(2^k) = (2^k)^(k log 2)
= 2^(k^2 log 2)
現在比較2^k
到k^2 log 2
。這是一個基本的比較:2^k
是足夠大所有足夠大k
。
以log
(基數2)爲這兩個函數,我們得到log(f(n)) = n
其中log(g(n)) = (log(n))^2
。
現在,(log(n))^2 = o(n)
和log
是一個單調遞增函數,我們有
g(n) = o(f(n))
,即f(n)
更快的成長爲n
大值。
這裏是另一種方式來更嚴格地證明這一點:
讓L = lim{n->inf} g(n)/f(n) = lim{n->inf} n^(log(n))/2^n
。
因此log (L) = lim{n->inf} log^2(n) - n
` = lim{n->inf} n*(log^2(n)/n) - 1)`
` = lim{n->inf} (n) * lim{n->inf} (log^2(n)/n) - 1)`
` = lim{n->inf} (n) * (0-1)`
` = lim{n->inf} (-n) = -inf`
=> L = 2^(-inf) = 0
據o(n)
替代定義(小o
,請參見此處:https://en.wikipedia.org/wiki/Big_O_notation)
L = lim{n->inf} g(n)/f(n) = 0
=> g(n) = o(f(n))
。
下面是數字原件及對數尺度比較f(n)
和g(n)
增長:
比較兩個函數的對數增長率是否有效? –
@JohnDoe爲什麼不呢?兩個函數的對數也是(複合)函數。基本上我們在這裏應該看到的是,一個函數在對數尺度上支配另一個函數的增長率,而log是單調遞增函數,因此第一個函數也將主導第二個在原始域中的增長。 –
- 1. AS3比較兩個函數
- 2. 兩個比較函數Mysql
- 3. Intelij比較兩個覆蓋率數據
- 4. 比較兩個長串
- 5. BigInteger效率比較長嗎?
- 6. 比較兩個nvarchar的一個函數
- 7. 無法計算函數的增長率
- 8. 計算增長率和兩個變量
- 9. 比較兩個字典的效率
- 10. 與Excel countif函數的兩個比較
- 11. 兩個函數的比較結果
- 12. 用於比較的水平barplot兩個數據 - 基於比率
- 13. 比較Unix中兩個文本文件的比較函數
- 14. Javascript函數來比較兩個版本
- 15. 在JavaScript中比較兩個函數
- 16. TSQL函數比較兩個字符串
- 17. 組成兩個比較函數?
- 18. Tricky LINQ函數
- 19. F#展開函數效率比較
- 20. Xquery函數來比較兩個不同的xmls的兩個xpaths
- 21. 季度年同比增長率
- 22. R比較兩列上的兩個數據幀並增加第三個數
- 23. 要比較兩組的退出率
- 24. 比較兩個數組中的比特
- 25. 比較不同長度的兩個數據幀的行
- 26. 比較兩個數據庫
- 27. PHP - 比較兩個數組
- 28. Octave比較兩個數組
- 29. 比較兩個數據集
- 30. 比較兩個數組?
哇,這是一個有趣的方法。有一件事我不能忍受,這是怎麼發生的? (2^k)^(k log 2)= 2 ^(k^2 log 2) –
@JohnDoe它只是「權力的力量」財產:'(a^x)^ y = a ^(x * y )'。看到這裏例如:http://www.icoachmath.com/math_dictionary/power_properties.html – IVlad
多麼令人難以置信和簡單的解決方案!我一直在苦苦掙扎,謝謝你,先生。 –