首页 > 代码库 > 数据结构_1 排序
数据结构_1 排序
排序分为四种(交换、选择、插入、合并):
- 交换排序: 包括冒泡排序,快速排序。
- 选择排序: 包括直接选择排序,堆排序。
- 插入排序: 包括直接插入排序,希尔排序。
- 合并排序: 合并排序。
冒泡排序:
从后往前依次比较,逐个交换,效率较低,时间复杂度为: 0(n) - 0(n^2) 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)
归并排序:
- “分”, 就是将数组尽可能的分,一直分到原子级别。
- “并”,将原子级别的数两两合并排序,最后产生结果。
- 时间复杂度为: O(NlogN),空间复杂度为: O(N)
数据结构_1 排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。