当前位置:   article > 正文

十大经典排序算法_排序算法十大经典方法

排序算法十大经典方法

 

1.冒泡排序

冒泡排序,顾名思义,就是数据像一个个气泡似的不断地往上冒。大致思路是 : 我们对给定的一个数组,进行n轮冒泡操作,每次操作分别比较相邻两项,如果前一项大于后一项,就将它们交换位置,你可以想象一下这个情景,经过n次比较(如果有必要就进行交换),最终的结果肯定是最大的那一项被移动到数组的最右端;那我们重复这个过程,经过n次冒泡操作,就将全部的数据进行了排序,这就是冒泡排序的思路。

2.选择排序

首先通过扫描数组找到其中最小的元素,然后将它与第一个元素交换(如果第一个元素就是最小元素的话那么它就和自己交换)

在剩下的数组中找到最小的元素,然后将它与第二个元素交换

如此反复n-1次,就达到了排序的效果

3.插入排序

通过很多次相邻元素的交换达到查找位置并插入的目的

先确定位置,然后数据搬移,最后交换

4.希尔排序

希尔排序是一个原地排序算法

希尔排序不是一个稳定的排序算法,这一点与插入排序不一样

希尔排序对于较大的数组性能比较好

5.归并排序

归并简单来说就是保持有序的合并

它的思路就是从底层归并,每次遍历完整个数组之后,size就翻倍,最后一步归并完就是整个数组了

归并排序是一个稳定的排序算法 ,因为在归并的过程中,我们可以认为地控制当两个元素相等时,先放置前面地元素

6.快速排序

7.堆排序

8.桶排序

桶排序对要排序数据的要求是非常苛刻的,它要求桶与桶之间有着天然的大小关系,只有这样,在每个桶内的数据都排序完之后,桶与桶之间的数据不需要再进行排序。

9.计数排序

计数排序只能用在数据范围不大的场景中

计数排序只能给非负整数排序,如果要排序的数据是其他类型的,要将其在不改变相对大小的情况下,转化为非负整数。

10.基数排序

基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。

基数排序不改变相同元素之间的相对顺序,因此它是稳定的排序算法。

基数排序的空间复杂度为 O(n + k),所以不是原地排序算法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/163970
推荐阅读
相关标签
  

闽ICP备14008679号