如何解释为什么合并排序算法的最佳运行时间为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. 重构计算排序算法的运行时间 - python
- 16. 如何计算Shell排序算法的运行时间
- 17. 算法:混合归并和插入排序执行时间
- 18. 结合csv文件,按时间排序并平均排序
- 19. 的Java计算平均执行时间
- 20. 使用Js来计算函数平均运行时间
- 21. 运行调和平均算法?
- 22. 用于查找程序的平均运行时间的脚本
- 23. 计算和基数排序的运行时间
- 24. 如何最小化并行计算的运行时间?
- 25. 运行时间的排序代码
- 26. Euclid的GCD算法的运行时间?
- 27. 运行时间计算
- 28. JTable运行时间计算?
- 29. 计算运行时间
- 30. 这是长时间运行选择查询运行最佳?