标签:理解 多少 algo nlogn 一半 col bsp nlog 忽略
假设:有n个数需要排序。
n个数的全排列方式是A(n,n) = n!
基于比较,i<j. 在最优的情况下,可以在n!个可能中筛去一半。 也就是说剩下(n!/2)种可能.
这样的比较方式进行k次。最后筛出一种(符合要求的)排序:
n!/(2k) < 1
公式推导:
2k > n! //我理解就是k表示要筛多少次,2k是排列的可能性。那么2k要大于n!,才能保证筛的时候包含了那个正确的排列。
klog(2) > log(n!) //两边取对数
k > log(n!) //忽略常数
n!<nn => log(n!)~nlog(n)
推得:
k > nlog(n) //所以nlog(n)是下界
[Algo][July]基于比较排序的算法下界是O(nlogn)
标签:理解 多少 algo nlogn 一半 col bsp nlog 忽略
原文地址:http://www.cnblogs.com/hopping/p/7676609.html