您的位置:首页 > 其它

排序算法总结

2017-09-09 09:56 120 查看
插入排序:

1. 从数组的第二个元素开始,将其插入到已经有序的元素中。

选择排序:

1. 扫描数组,记录下最小的元素,将其与第一个元素交换。

2. 重复1,只是交换元素后移。

冒泡排序的思想:

1. 从数组第一个数组元素开始,到数组末尾,如果当前元素比后记元素大,则交换。——确保最大的元素 “冒泡” 到数组末尾。

2. 重复1,只是数组的长度减一(因为最后一个元素已经是最大)。

归并排序思想:分而治之,递归。

1. 将数组分成两块,分别排序,然后合并成一个有序数组。

        合并操作:需要一个临时数组(整个过程只需一个临时数组即可),将原数组元素复制过去,然后将合并结果写回原数组。

2. 每块重复1。

快速排序思想:分而治之,递归。

1. 选择一个pivot,将数组分为两块,左边的块小于等于pivot,右边的块大于等于pivot。

2. 每块重复1。

基数排序:

1. 从低位开始,对每位进行排序。

【从低位开始的原因:如果从高位开始,高位排完序之后,进行低位排序时必须分段(每段之内的元素其高位相等),

    在段内对低位进行排序。而从低位开始排序不存在分段。】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: