各种排序介绍(非编程向)

上课的一张图上出现了几个英文的排序名称,就摘下来看看是什么吧

梳排序(Comb sort)

冒泡排序,初始步长为n,按一定比率减小步长
注:步长较小时可以改为希尔排序提高效率

堆排序 (Heapsort)

用堆优化选择排序

原地归并排序(Inplace Merge sort)

归并排序,只用原数组,坏处是复杂度不稳定,可能会退化

图书馆排序(Library sort)

插入排序优化,元素之间留一些空隙

归并排序(Merge Sort)

分治的进行排序,然后合并两个有序数组
可以求逆序对数量

归并排序(非递归)(Non-recursive Merge Sort)

正常的归并排序,自底向上归并,不需要递归

快速排序(Quick Sort)

对随机数据效果较好,每次随机一个位置的数,把比他小的放在左边,比他大的放在右边
可以O(n)求nth-element

希尔排序(Shell Sort)

定步长从大到小的插入排序

慢速排序(Slow Sort)

复杂度不是多项式,真的是慢速

平滑排序(Smooth Sort)

类似堆排序思想,用了类数据结构的东西,复杂度比较优,数组有序复杂度更优

原文地址:https://www.cnblogs.com/zhouyuheng2003/p/15503702.html