排序算法总结

简介: 经典排序算法总结

排序算法总结(个人理解版):

  • 第Ⅰ类:插入排序(后边元素依次与前边元素比较排序);
  • 第Ⅱ类:选择排序(后边元素编组,选最小与最前元素交换位置)、谢尔排序(选择排序的改进,分组的方法不同)
  • 第Ⅲ类:冒泡排序(1/2比较,2/3比较,依次类推)、快速排序(分组后冒泡)
  • 第Ⅳ类:堆积排序(二叉树结构排序,建立堆)
平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 比较次数 交换次数 排序趟数
插入排序 O(n2) O(n2) O(n) O(1) 最好为n-1,最差为n(n-1)/2 最好为0,最差为n(n-1)/2 n-1
谢尔排序 O(nlog2n) O(nlog2n) O(n1.3) O(1) 最好为nlog2n,最差为n2 与gap有关,n-gap log2n
泡排序 O(n2) O(n2) O(n) O(1) n(n-1)/2 逆序数 与原始状态有关
快速排序 O(nlog2n) O(n2) O(nlog2n) O(log2n)~O(n) nlog2n,最差为n(n-1)/2 具体分析 与原始状态有关
选择排序 O(n2) O(n2) O(n2) O(1) n(n-1)/2 0~(n-1) n-1
堆积排序 O(nlog2n) O(nlog2n) O(nlog2n) O(1) nlog2n 具体分析 n-1
相关文章
|
5月前
|
搜索推荐 算法 Python
其他常见的排序算法
其他常见的排序算法
|
6月前
|
搜索推荐 算法
常见排序算法实现(二)
常见排序算法实现(二)
51 0
|
6月前
|
存储 搜索推荐 算法
常见排序算法实现(一)
常见排序算法实现(一)
73 0
|
搜索推荐 算法
|
搜索推荐 程序员 C语言
常见的排序算法(上)
时间如流水,今天就到初阶数据结构最后一个知识章节了,常见的排序算法!在进入这期之前,程爱打篮球的程序猿想说一句,如果有不懂的地方可以反复观看我之前的内容,再还有不懂可以直接找我,帮你安排的妥妥的!
常见的排序算法(上)
|
搜索推荐 算法
常见的排序算法(下)
上期学习完了前四个排序,这期我们来学习剩下的三个排序:
常见的排序算法(下)
|
存储 算法 搜索推荐
【C++】常见的几种排序算法
【C++】常见的几种排序算法
69 0
【C++】常见的几种排序算法
|
搜索推荐
|
算法 搜索推荐 Windows
快排序算法(下)
快排序算法(下)
120 0
快排序算法(下)
|
搜索推荐
快排序算法(中)
快排序算法(中)
129 0
快排序算法(中)