排序算法总结


插入排序:

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


选择排序:

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

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


冒泡排序的思想:

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

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


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

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

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

2. 每块重复1。

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

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

2. 每块重复1。


基数排序:

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

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

    在段内对低位进行排序。而从低位开始排序不存在分段。】






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值