美文网首页数据结构和算法
快速排序的时间复杂度为什么是nlogn

快速排序的时间复杂度为什么是nlogn

作者: 小伟_be27 | 来源:发表于2019-03-03 17:03 被阅读10次

就平均情况而言,快速排序是目前被认为最好的一种内部排序方法,其时间复杂度在平均情况下是nlogn,在最坏的情况下(有序时)时间复杂度是o(n^2)。下面来分析时间复杂度的计算过程:

平均情况下:T(n)=2*T(n/2)+n;      第一次划分

      =2*(2*T(n/4)+n/2)+n;     第二次划分  (=2^2*T(n/4)+2*n)

      =2*(2*(2*T(n/8)+n/4)+n/2)+n;     第三次划分(=2*3*T(n/8)+3*n)

      =.....................

      =2^m+m*n;  第m次划分

因为2^m=n,所以等价于 = n+m*n
所以m=logn,所以T(n)=n+n*logn;     

相关文章

  • php-归并排序、快速排序、堆排序

    归并排序、快速排序、堆排序 时间复杂度 O(nlogn) 归并排序 快速排序(快排) 堆排序

  • 理解快速排序算法

    快速排序的时间复杂度为O(nlogn),空间复杂度为O(n)。根据@张小牛 的文章快速排序(Quick Sort)...

  • 快速排序

    四 快速排序 因此快速排序的最差时间复杂度和冒泡排序是一样的都是O(N2),它的平均时间复杂度为O(NlogN)。...

  • 合并排序和快速排序

    归属:分治法 算法复杂度: 合并排序:θ(nlogn)快速排序:一般是O(nlogn) 稳定性:合并排序稳定,快速...

  • 排序算法6-快速排序

    快速排序 平均时间复杂度:O(nlogn) 最好情况:O(nlogn) 最坏情况:O(n^2) 空间复杂度:O(l...

  • 快速排序 quick sort

    快速排序 时间复杂度:平均、最好为O(nlogn),最坏为O(n^2) 空间复杂度:O(nlogn) 稳定性:不稳...

  • 快速排序(1)

    快速排序是经典的排序算法,最理想的情况下,时间复杂度近乎二分法,平均时间复杂度为O(nlogn)关于快速排序的图解...

  • 排序算法

    快速排序:顾名思义就是快,c语言底层实现的排序算法主要就是用的快速排序。快速排序,最好时间复杂度是nlogn,最坏...

  • 排序总结

    快速排序 时间复杂度:O(NlogN)空间复杂度:O(NlogN)最坏情况:当数组全都排好序时,此时划分区间会出现...

  • 快速排序

    快速排序的时间复杂度 最优情况:O(nlogn) 最差情况:O(n^2)

网友评论

    本文标题:快速排序的时间复杂度为什么是nlogn

    本文链接:https://www.haomeiwen.com/subject/btcmuqtx.html