如何解釋爲什麼合併排序算法的最佳運行時間爲Big Omega(n log n),平均運行時間爲Big theta(n log n)?合併排序算法的最佳運行時間和平均運行時間
-1
A
回答
0
Big Omega忽略低階項和/或常數因子,通常使用Big Omega來描述上限或最差情況。 Big Theta應該是一個較低和較高的範圍,並且/或者可以作爲最佳情況,平均情況,最壞情況,特定情況。
對於純合併排序(不是在較小組上使用某種排序類型的混合),移動次數相同,n⌈log2(n)⌉(其中⌈⌉是整數上限),而比較的數量可以變化,最壞的情況比n⌈log2(n)bit少一點,最好的情況大約是1/2,所以只是常數因子的差異。如果數據集元素適合寄存器(如對整數數組進行排序),則比較時間可能會被存儲器訪問時間隱藏(比較對總體時間影響很小或沒有影響)。如果執行外部合併排序(例如對大文件進行排序),比較時間可能會被設備讀取/寫入時間隱藏。
維基文章:
http://en.wikipedia.org/wiki/Big_O_notation
http://en.wikipedia.org/wiki/Time_complexity
http://en.wikipedia.org/wiki/Computational_complexity_theory
相關問題
- 1. 最佳,最差和平均情況下運行時間
- 2. 合併排序運行時間
- 3. 瞭解合併排序和快速排序的運行時間
- 4. 運行合併排序和快速排序的線性時間
- 5. 最佳運行時間
- 6. 算法的最壞情況與平均運行時間之間的關係
- 7. 線性搜索算法的平均個案運行時間
- 8. 運行時間的算法
- 9. 長時間運行合併
- 10. Dijkstra算法運行時間
- 11. RadixSort算法運行時間
- 12. 合併排序合併運行時間anaylsis
- 13. 存儲平均正常運行時間數據的最佳方法
- 14. 與合併排序相比,修改的合併排序的運行時間?
- 15. 如何計算Shell排序算法的運行時間
- 16. 重構計算排序算法的運行時間 - python
- 17. 算法:混合歸併和插入排序執行時間
- 18. 結合csv文件,按時間排序並平均排序
- 19. 的Java計算平均執行時間
- 20. 使用Js來計算函數平均運行時間
- 21. 運行調和平均算法?
- 22. 用於查找程序的平均運行時間的腳本
- 23. 計算和基數排序的運行時間
- 24. 如何最小化並行計算的運行時間?
- 25. 運行時間的排序代碼
- 26. Euclid的GCD算法的運行時間?
- 27. 運行時間計算
- 28. 計算運行時間
- 29. JTable運行時間計算?
- 30. 這是長時間運行選擇查詢運行最佳?