基于比较的排序时间下界

一个长度为n的集合排序的结果有n!个结果。
以比较为基础的排序方式可以看做二叉树,每个非叶节点左右决定每次比较大小的走向,那么显然所有的排序结果都是在这个二叉树上的叶子(存在可能一结果多个叶子)。

已知叶子节点数为不少于n!个,那么时间复杂度下界的求解就转化为,求解:一个已知叶子节点数不小于n!的二叉树的深度——即log(n!)

当n>1时 有n!>= n(n-1)(n-2)...(n/2)>=(n/2)^(n/2)
当n>4时 有T(n)=k>=log(n!)>=log((n/2)^(n/2))=n/2*log(n/2)=n/2*(1/2*(logn + logn) - log2)>=   *注n取4
n/4*logn 得证
T(n)时间复杂度下界O(nlogn)

展开阅读全文

没有更多推荐了,返回首页