首页 > 编程语言 > 详细

排序算法分析

时间:2020-06-24 17:01:38      阅读:62      评论:0      收藏:0      [点我收藏+]

【排序的分类】

1. 基于比较的排序

  • 交换排序(冒泡排序、快速排序)
  • 选择排序(简单选择排序、堆排序)
  • 插入排序(直接插入排序、折半插入、希尔排序)
  • 归并排序

2. 不基于比较的排序

  • 基数排序

【排序算法分析】

1. 冒泡排序

最好情况:O(n)

最坏情况:

                   技术分享图片 O(n^2)

 

平均情况:O(n^2)

2. 快速排序

最好情况:T(n) ≤ 2T(n/2)+n            O(nlogn)

最坏情况:O(n^2)

平均情况:

技术分享图片 技术分享图片

O(nlogn) 

3. 直接选择排序

最好情况、最坏情况、平均情况:O(n^2)

4. 堆排序

最好情况、最坏情况、平均情况:O(nlogn)

5. 直接(折半)插入排序

最好情况:O(n)

最坏情况:O(n^2)

平均情况:O(n^2)

6. 希尔排序

最坏情况:O(n^2)

7. 归并排序

最好情况、最坏情况、平均情况:O(nlogn)

【问题复杂度下界】

规约法:O(nlogn)

 

排序算法分析

原文:https://www.cnblogs.com/duanshuai/p/13188083.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!