原创

【21w41a】14种排序算法

浏览:1394
更新时间:2021-10-16
发布于:未知
微信扫一扫
分享至其他
0
表情
漩涡
0/200
全部评论
Romisthesia
Let my heart bravely spread the wings
作品说明
排序算法,顾名思义,将一个列表按大小进行排列 给小白的算法优缺点分析: 冒泡排序:经典算法,写起来简单,但是效率低,建议初学者使用 选择排序:经典算法,写起来简单,但是效率低,建议初学者使用 直接插入排序:经典算法,写起来简单,平均效率低,但是排列已经较为有序的数列会极快 快速排序:顾名思义,速度较快,并且不需要多余空间,为主流排序算法 归并排序:非常稳定,效率和快速排序基本相同,但是需要另外一个列表进行合并操作 希尔排序:速度较前两者差不多,适合中、短的的数列 计数排序:不基于比较,适合跨度小的长数列,速度会极快,但是只能排整数 堆排序:速度和快速排序、归并排序基本相同,且效率非常稳定,适合超长、完全随机、跨度大的数列 地精排序:只需要一层循环,写起来比开始的三个还要简单,但是效率和开始的三个一样低 鸡尾酒排序:冒泡排序的变形,比冒泡排序稍快,和直接插入排序一样,原数列越有序,排序越快 基数排序:排序最大位数较短的数列极快,但是只能排整数 梳排序:和希尔排序相类似 内省排序:C++函数库中排序法,速度较快较稳定
操作说明
可视化:https://world.xiaomawang.com/community/main/compose/H6JR666J 空格可以反向排列 平均时间复杂度: 冒泡排序:O(n²) 选择排序:O(n²) 直接插入排序:O(n²) 快速排序:O(nlog₂n) 归并排序:O(nlog₂n) 希尔排序:O(n^1.3) 计数排序:O(n+k) 堆排序:O(nlog₂n) 地精排序:O(n²) 鸡尾酒排序:O(n²) 基数排序:O(nlog(r)m) 梳排序:O(nlog₂n) 内省排序:O(nlog₂n)