您的位置:首页 > 其它

为什么基于比较的排序算法,时间复杂度总是大于等于nlgn

2016-08-12 02:07 1136 查看
图片中举了3个数进行比较排序的例子,可以看到时间复杂度也就近似看作是比较次数就是树的高度。

开始时,比较的结果就确定为n!个,每当比较一次,就砍掉一半可能性,即第一次比较,变成n!/2种可能,以此类推,最后剩一种可能,那么,比较次数m也就是树高为我们所求。于是:

由此得出公式:n!/(2^h)<=1————>2^h>=n!>n*(n-1)*(n-2)*...*1>(n/2)^(n/2)——————>h>=(n/2)log2^(n/2)。即O(nlgn)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  排序算法
相关文章推荐