我一直在試圖解決一個問題幾天了。我環顧網絡尋求幫助,我發現的唯一答案與我的結論相反。指數大O等效
這裏的問題:
**3^n = 2^(O(n)) True or False?**
得出的結論是「真」,而正確答案是:
3^n = 2^(O(n)) since 3^n = 2^(n*log_2(3)) = 2^(O(n))
的問題是,我不知道答案是如何確定的。一步一步的過程對我來說是最好的解釋。換句話說,3^n = 2^n是如何轉換成一個對數的,我們如何確定常數和n> = k的起點?
編輯: 也許這將更容易解釋哪裏2和3來自這個受過教育的猜測。解決方案有一個3和兩個2。
If f(n) = 3^n and g(n) = 2^n
The 3 in 2^(n*log_2(3)) must be coming from f(n)?
The 2 in 2^(n*log_2(3)) must be coming from g(n)'s base?
----> Is the log_2 a constant??
換句話說,如果這個問題是
7^n = 4^(O(n)) ?
會正確的答案是提前
4^(n*log_2(7))
How is k determined, where all n >= k?
謝謝!
你的教授是正確的(有點不出所料!)。你對他的推理有什麼不瞭解? –
這不是我的教授xD。我的教授一直沒有談論這個。我想我根本不明白他們的答案,或者爲什麼我的錯誤。根據這本書,我的答案應該是正確的嗎?我錯過了什麼? – FoxDonut
你的推理是錯誤的,因爲你選擇'c'常數'錯誤的方式'。當n> N時,你會發現'c'表達式爲真 –