基于比较排序的算法复杂度的下界

2019-04-28 20:51:54

首先,所有基于比较的排序算法,都是以决策树模型作为依据的。
基于比较排序的算法复杂度的下界_第1张图片 基于比较排序的算法复杂度的下界_第2张图片
对于待排序的 n 个元素,其所有可能的排序种数为 n! ,其决策树高度为h (即为排序算法比较的次数)
高度为 h 的决策树,最多有叶子节点 个,所以就有

由斯特林近似公式:


其中,
故,  的渐近下界为
 
【补充】
如果不使用斯特林公式,依然可以证明得到log(n!)和nlogn是同阶的。
1)显然的是n! < n^n,因此log(n!) < nlogn
2) n! = n * (n - 1) * ... * 1, 我们可以将前n / 2的数字放缩到n / 2,后面的所有数字舍去,因此n! > (n / 2) ^ (n / 2),得log(n!) > nlog(n)
综上,logn! 和 nlogn是同阶的。

转载于:https://www.cnblogs.com/hyserendipity/p/10786592.html

你可能感兴趣的:(数据结构与算法)