我得知任何基于比较的排序算法在最坏情况下的运行时间都有Ω(n log n)的下界,但为什么会这样呢?无论如何我能证明吗?
答案 0 :(得分:0)
有n! n个对象的排列。排序算法需要对每个n执行不同的操作!使它们恢复正常的排列。测试k比较的排序算法只能看到2 ^ k个不同的结果,所以我们需要有2 ^ k> = n!让它在每个n上做一些不同的事情!排列。如果您使用http://en.wikipedia.org/wiki/Stirling%27s_approximation代表n!并忽略了除第一个术语之外的所有术语,最终将进行n log n比较。请参阅示例http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15211/fall.97/www/recitations/rec1006