-2
A
回答
2
讓我們做一個簡單的數學(用於對數log(x, b)
看臺上b
基地; log(x) = log(x, 2)
是二進制數):
A = 2 ** (3 * log(n, 3)) =
2 ** (log(n ** 3, 3)) =
2 ** (log(n ** 3)/log(3)) =
n ** (3/log(3)) =
n ** (log(2 ** 3, 3)) =
n ** (log(8, 3)) ~
n ** 1.8928...
當
B = 6 * n**2
最後,算法A
具有更好複雜度高於B
(1.8928… < 2
):
A = O(n**(log(8, 3)) ~ O(n**1.8928)
B = O(6 * n**2) = O(n**2)
0
我想放大已經給出答案: 我們可以重寫功能A(n)=2^(3(log_3 n))
:
A(n) = 2^(3*(log_3 n))
= exp(ln(2^(3*(log_3 n))))
= exp(3*(log_3 n)*ln(2))
= exp(3*ln(n)/ln(3)*ln(2))
= exp(3*ln(2)/ln(3)*ln(n))
= n^(3*ln(2)/ln(3))
其中ln
是自然對數。所以,我們得到 A(n)/B(n) = 1/6 * n^(3*ln(2)/ln(3)-2)
與3*ln(2)/ln(3)-2<0
因此
lim_{n to inf} abs(A(n)/B(n)) = 0 < inf
即A=O(B)
由於A
收斂時,LIMT,在限劣和限制優越相等:
liminf_{n to inf} abs(A(n)/B(n)) = 0 (!>0)
即A!=Omega(B)
,從而也A!=Theta(B)
相關問題
- 1. 用數學函數和關係繪製數學關係,如方程x^2 + y^2 = c^2
- 2. 數學關係
- 3. Symfony的2:學說一對多關係
- 4. 學說2一對多的關係
- 5. 學說2 - ManyToMany關係 - 空集合
- 6. Symfony 2:學說不能創建關係
- 7. Symfony2學說關係數據
- 8. 關於2總線信號的Simulink數學運算
- 9. 學說2:無法正確設置一對多關係
- 10. 數學運算2表中的SQL
- 11. App Inventor 2中的數學運算
- 12. 復發與特定算法的關係
- 13. 關於數字簽名算法的數學攻擊
- 14. Symfony2學說關係
- 15. PHP數學加法數值在2個關聯數組
- 16. 關係數據庫和數學?
- 17. 算法中的數學表示法
- 18. 算法:從CLRS復發關係
- 19. 醫學算法
- 20. 數學運算順序算法
- 21. 友誼關係跟蹤算法
- 22. 學說2單表繼承的多對一的關係
- 23. 計算FFT相關係數
- 24. 關係演算數據庫
- 25. 2-SAT相關算法的多項式算法
- 26. 近親繁殖係數/ wrights算法/遺傳學
- 27. 學說2 - 引用表本身的關係
- 28. 學說2 - 不允許在多對一關係的外鍵
- 29. 學說2鏈接表的關係 - 完整性約束違規
- 30. 理解學說中關係映射的問題2
你的問題沒有任何意義,這與算法有什麼關係(我假設'A,B'是一些算法的複雜性),但這與比較無關。 'A = O(B)'是什麼意思?'如何解決?你想找到閾值'n'值,所以'A(n)== B(n)'而不是?如果'A,B'確實很複雜,那麼你應該測量閾值,因爲現代架構 – Spektre
上的估計值將會丟失,因爲誤導 – ttllm
,所以你需要證明lim(n - > + inf)A(n) > = lim(n - > + inf)B(n)'這不是編程任務,而是純粹的數學......(但是你可以用數字解決它) – Spektre