假設計算機在微秒內執行一條指令,並且已知算法具有O(2^n)的複雜度,如果給該算法提供最多12小時的計算機時間,則確定最大可能可以使用該算法的n的值漸近複雜度
Q
漸近複雜度
-3
A
回答
4
2
信息不足。一個O(2^n)的算法不一定需要大小爲n的輸入2^n步,它可能需要一個常數因子。事實上,它可能需要C *(2^n)+ B操作,其中C和B是常量(即它們不依賴於n),它們都是整數,並且C> = 1且B> = 0
1
那麼,由於O(2^n)是一個指數複雜度,你被要求提供「最大可能的指數」,所以你試圖找到一個N,所以2^N小於或等於12小時(* 3600秒,* 1000000微秒)。從那裏,你可以使用對數來找到正確的值,或者估計一個初始N並迭代,直到找到一個值。
相關問題
- 1. 漸近複雜度python
- 2. Cassandra的「get_count」漸近時間複雜度
- 3. 漸近時間複雜度和折返
- 4. 算法複雜性漸近線圖
- 5. 懶惰評估的漸近複雜性
- 6. 編譯器的漸近複雜性
- 7. 如何找到3Sum.java的漸近複雜度
- 8. 是這個算法的漸近時間複雜度O(log n)?
- 9. 減少基於循環的代碼的漸近時間複雜度
- 10. 對數與權力的漸近複雜性
- 11. T(n)的的漸近複雜= T(N-1)+ 1/N
- 12. 方案功能的漸近時間複雜性
- 13. Eratosthenes的篩接近複雜性近似
- 14. Kolmogorov複雜度
- 15. valarray複雜度
- 16. 漸近記法
- 17. 如何改變算法以獲得更好的漸近複雜性?
- 18. 查找Java中排列的最有效方法[具有較低的漸近複雜度]
- 19. 真實世界哈斯克爾書 - 記錄器monad示例的漸近複雜度
- 20. 時間複雜度
- 21. Android OnClickListener複雜度
- 22. 時間複雜度
- 23. 堆棧複雜度
- 24. stl list - 複雜度
- 25. 最近遞歸找到max的時間複雜度是多少
- 26. C++漸近分析
- 27. 如何計算複雜度?
- 28. 如何降低複雜度?
- 29. 時間複雜度(Java,Quicksort)
- 30. 算法複雜度時間
這沒有意義。 O(2^n)可能意味着只有2^n,但它也可能意味着1000000000 * 2^n。 – Henrik 2010-09-20 14:40:33
如果包括N的運行時間是4小時......如果在較短的運行時間內沒有較低順序的條件,則可以做出明智的決定。簡而言之,這個問題被打破*和*很難解決。 – dmckee 2010-09-20 14:43:47
這聽起來很像作業。另外,請使用標點和大寫。 – 2010-09-20 14:49:40