快速排序平均情况下时间复杂度计算过程:
2014-11-21 21:09
295 查看
就平均情况而言,快速排序是目前被认为最好的一种内部排序方法,其时间复杂度在平均情况下是nlogn,在最坏的情况下(有序时)时间复杂度是o(n^2)。下面来分析时间复杂度的计算过程:
平均情况下:T(n)=2*T(n/2)+n; 第一次划分
=2*(2*T(n/4)+n/2)+n; 第二次划分
=2*(2*(2*T(n/8)+n/4)+n/2)+n; 第三次划分
=.....................
=2^m+m*n; 第m次划分
因为2^m=n,所以m=logn,所以T(n)=n+n*logn;
平均情况下:T(n)=2*T(n/2)+n; 第一次划分
=2*(2*T(n/4)+n/2)+n; 第二次划分
=2*(2*(2*T(n/8)+n/4)+n/2)+n; 第三次划分
=.....................
=2^m+m*n; 第m次划分
因为2^m=n,所以m=logn,所以T(n)=n+n*logn;
相关文章推荐
- 各排序算法最好最坏平均情况下的时间复杂度
- 分治算法;随机化划分函数;快速排序;线性时间选择第K小元素;快速排序平均时间复杂度nlgn;
- 寻找数组中第k小的数:平均情况下时间复杂度为O(n)的快速选择算法
- 排序算法--时间复杂度(平均时间,最坏情况)、空间复杂度
- 快速排序的时间复杂度计算
- 排序的平均时间复杂度和稳定性
- 以时间复杂度O(n)计算最大子序列和
- 如何计算时间复杂度
- 算法时间复杂度计算
- 算法时间复杂度计算
- PHP快速排序及其时间复杂度
- 时间复杂度计算方法
- 软考 递归式时间复杂度计算详解
- 怎么计算时间复杂度
- 0-1背包问题;动态规划;时间复杂度O(n方);给出最大价值与解得情况;内有动态规划思路总结;
- 时间复杂度计算
- 时间复杂度计算O(n)
- 计算时间复杂度公式
- 时间复杂度计算
- 哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算