博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构_1 排序
阅读量:6760 次
发布时间:2019-06-26

本文共 524 字,大约阅读时间需要 1 分钟。

排序分为四种(交换、选择、插入、合并): 

  1.       交换排序: 包括冒泡排序,快速排序。
  2.       选择排序: 包括直接选择排序,堆排序。
  3.       插入排序: 包括直接插入排序,希尔排序。
  4.       合并排序: 合并排序。

冒泡排序:

  从前往后依次比较,逐个交换,效率较低,时间复杂度为: 0(n) - 0(n^2) 

快速排序:

  通过第一遍的遍历(让left和right指针重合)来找到数组的切割点,平均时间复杂度: N(logN),最坏时间复杂度:  0(n^2)

直接选择排序: 

  找出基准后最小数进行交换,直接选择排序的时间复杂度为:O(n^2)

堆排序:

  构建并输出大根堆,堆排序的时间复杂度:O(NlogN)

直接插入排序:

  以基准从前往后依次比较插入,时间复杂度为:O(N^2)

希尔排序:

  缩小增量排序法,d=count/2k,平均为:O(N^3/2),最坏: O(N^2)

归并排序:

  1. “分”,  就是将数组尽可能的分,一直分到原子级别。
  2. “并”,将原子级别的数两两合并排序,最后产生结果。
  3. 时间复杂度为: O(NlogN),空间复杂度为:  O(N) 

转载于:https://www.cnblogs.com/bingxin/p/7271078.html

你可能感兴趣的文章
条款10:令operator=返回一个reference to *this
查看>>
单例模式
查看>>
.NET实现多个不同有效时间Session方案思考
查看>>
移动端常见问题及解决方案
查看>>
Github 使用的Markdown语言
查看>>
UVA 247 - Calling Circles (Floyd)
查看>>
Exchange: How to get Mailbox size in Exchange Shell?
查看>>
SqlBulkCopy使用心得
查看>>
几点要求自己也可以借鉴
查看>>
Highcharts的一些属性
查看>>
Django 中间件
查看>>
学城项目知识点整理及源码
查看>>
sqlServer,oracle中case关键字的用法
查看>>
表驱动法之保险费率
查看>>
苹果硅胶套市场空间上百亿:合作厂商利润达30%
查看>>
娇俏2011年春装
查看>>
备份还原oracle数据库
查看>>
[转载] AUML——FIPA Modeling Technical Committee
查看>>
Samba Server Configuration - Simple
查看>>
【ZZ】大型数据库应用解决方案总结 | 菜鸟教程
查看>>