基于比较的排序,时间复杂度下界是o(nlogn)的小证明

来源:互联网 发布:steam壁纸软件 编辑:程序博客网 时间:2024/05/20 17:40

原因:

对于n个待排序元素,在未比较时,可能的正确结果有n!种。

在经过一次比较后,其中两个元素的顺序被确定,所以可能的正确结果剩余n!/2种。

依次类推,直到经过m次比较,剩余可能性n!/(2^m)种。

直到n!/(2^m)<=1时,结果只剩余一种。此时的比较次数m为o(nlogn)次。

所以基于排序的比较算法,最优情况下,复杂度是o(nlogn)的。