有人可以向我解釋爲什麼這是真的。我聽到一位教授提到這是他的演講最壞情況分析不等於漸近界
回答
這兩個概念是正交的。
你可以有最壞情況漸近線。如果f(n)
表示輸入爲n
的給定算法所花費的最差情況時間,則可以有例如。 f(n) = O(n^3)
或其他最壞情況時間複雜度的漸近上界。
同樣地,可以有g(n) = O(n^2 log n)
其中g(n)
是(比方說)所採取的相同的算法的平均時間大小n
的均勻分佈的(隨機的)輸入。
或者可以擁有h(n) = O(n)
其中h(n)
是具有大小n
特別分佈式隨機輸入採取的相同的算法(例如,幾乎已排序的序列爲一個排序算法)的平均時間。
漸近表示法是一種「度量」。你必須指定要算什麼:最壞的情況下,最好的情況下,平均等
有時候,你有興趣,說明漸近下界(說)最壞情況下的複雜性。然後你寫f(n) = Omega(n^2)
陳述,在最壞的情況下,複雜性至少是n^2
。大歐米茄符號與大O相反:f = Omega(g)
當且僅當g = O(f)
。
漸近界是操作數達到無窮大時的預期行爲。從數學角度來說,只要n變成無窮大就是這樣。然而,最壞的情況行爲適用於有限數量的操作。
以quicksort爲例。快速排序的每個連續遞歸調用n具有
T(n)的運行時間複雜度T(N)= O(N)+ 2 T [(N-1)/ 2]
在「如果未分類的輸入列表在每次調用中被分成兩個相同的大小爲(n-1)/ 2的子列表,則爲'最好的情況'。在這種情況下,求解T(n)給出O(n log n)。如果分區是不完美的,並且兩個子列表相等大小爲n的不,即
T(N)= O(N)+ T(K)+ T(N - 1 - k)時,
即使k = 1,我們仍然獲得O(n log n),只是具有較大的常數因子。這是因爲只要k> 0,處理輸入列表時,快速排序的遞歸調用的次數就呈指數級上升。
然而,在 '最壞情況' 沒有輸入列表的分裂發生,即:
T(N)= O(N)+ T(0)+ T(N - 1)= O (n)+ O(n-1)+ T(n-1)+ T(n-2)...。
發生這種情況例如如果我們將排序列表的第一個元素作爲主元素。這裏,T(0)表示得到的子列表之一是零,因此不需要計算時間(因爲子列表具有零元素)。第二個子列表需要剩餘的所有負載T(n-1)。在這種情況下,我們得到O(n²)。
如果一個算法沒有最壞的情況,它不僅是O [f(n)],而且也是o [f(n)](Big-O與little-o notation)。
- 1. 漸近分析不等式
- 2. 漸近分析乘以不等式
- 3. 算法分析:大O /最壞情況
- 4. C++漸近分析
- 5. 最佳情況和最壞情況下的時間複雜度
- 6. 大O - 最壞情況/最好的情況下確認
- 7. 漸近分析 - 高階函數
- 8. 在漸近分析中添加日誌
- 9. 數據結構 - 漸近分析(C++)
- 10. 中的特定功能的最壞的情況下(O(N))確定的漸近複雜
- 11. 關於n階乘的θ表示的漸近分析
- 12. 特殊情況下插入排序的最壞情況比較
- 13. 算法的最壞情況複雜度
- 14. 此代碼的最壞情況?
- 15. 如何計算最壞情況的complixity?
- 16. 跟蹤最壞情況執行時間
- 17. 網絡安全:最壞情況
- 18. 悲觀鎖定最壞情況
- 19. 最壞情況下的時間複雜
- 20. Prim算法的最壞情況圖
- 21. Splay樹:最壞情況序列
- 22. 漸近最差情況下的運行時間。需要一些說明
- 23. 不同的使用情況分析
- 24. 如何找到我算法的最佳情況和最壞情況的公式?
- 25. 鑑於噪聲分佈情況,噪聲破壞圖像?
- 26. 使用限制來證明漸近界
- 27. 在最壞情況下具有相同邊界的等價數據結構(與攤銷)
- 28. 冒泡排序最壞的情況下,最好的情況下和平均情況下的複雜性
- 29. 平均數計算最壞的情況下,最好的情況下和平均情況下的複雜性
- 30. 矩陣乘法最壞的情況下,最好的情況下和平均情況下的複雜性
我敢打賭,你不知道有另一個網站。這就是所謂的http://cstheory.stackexchange.com/和每個人都問你的問題! – 2011-01-24 14:27:29
@Elijah:這是一個非常可疑的陳述,因爲像這樣的問題在那裏脫離主題。顯然你既沒有看過關於科學問題的問題,也沒有閱讀它的常見問題解答,其中明確指出該網站僅用於研究級問題。 – sepp2k 2011-01-25 10:09:00