简析基础排序算法

排序就是按照数据中某一种数据按一定的规则从把数据无序变为有序。

排序好比排队,设想有一群七七八八的人站成了一排,你看他们乱糟糟的很不爽,于是决定按照你的规则把他们拍好。对于任意两个人你可以直接按你的规则决定他们的先后。

这里假设你的规则是从“小”到“大”。

插入排序

假设已经有几个(也可以是一个)人已经按顺序站好了队,插入排序就是把等待排队的人里一个一个的安排到那个已经有序的队中合适的位置。

希尔排序

希尔排序是建立在插入排序基础上的,是一种高级的插入排序。

仍然以排队做例子,现在你知道等待排队人数n,把n除以2得到新的n,让那些人从1到n(注意已经是之前n的一半了)报数,报数相同的人分在一组这样,人们被分成了n组,在每一组内进行插入排序。当每一个组都排好了以后,在让n折半,重新从1到n报数分组,组内排序。再折半,报数,排序……最后n会变成1,也就是所有人都报了1,每一个分组就只有1个人了,这时你会发现,所有人已经按顺序排好了。

冒泡排序

从第一个人开始向后比较相邻的两个人,每次不管交不交换位置都向后继续比较。若发现当前的人比与他相邻的下一个人更“大”就让他们交换。这样第一趟比较结束后最“大”的人会出现在队尾,第二趟是次“大”的人……最后就会得到有序的队列了。为什么叫冒泡排序?把每趟排序想象成一个泡泡向上冒吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值