在大多数需要排序数据的情况下,选择比较排序。像归并排序、快速排序、插入排序和其他比较排序技术可以处理不同的数据类型,并具有O(nLog(n))的下限效率。
我的问题是:
- 比较排序技术有哪些限制?
- 是否存在任何非比较排序技术可用的场景?
谢谢!
在大多数需要排序数据的情况下,选择比较排序。像归并排序、快速排序、插入排序和其他比较排序技术可以处理不同的数据类型,并具有O(nLog(n))的下限效率。
我的问题是:
谢谢!
很容易看出,为什么比较排序需要约N log N次比较。有N!种排列方式,而我们知道ln(N!)大约等于N ln N - N + O(ln N)。在大O符号中,我们可以忽略低于N ln N的项,因为ln和log只相差一个常数,所以我们得到最终结果O(N log N)。