提到算法大多数人感觉可能是好高大上呀,其实这些算法都是生活中我们在不经意之间用到的。比如当下最火的真人秀节目《我是歌手》在第12期突围赛宣布结果的时候就是用到了冒泡法。那么接下来让我们看看还有哪些其他的排序算法。
首先,关于排序的算法如下:
算法书上给的官方的解释一大堆看着晦涩难懂,我们用举例的方法一一介绍具体怎么用。
一、插入排序
Ⅰ、直接插入:
对45、56、48、23进行排序
1.56>45不处理
2.45<48<56,48插到45后面 即:45、48、56、23
3.23<45,插到45前面
结果:23 45 48 56
Ⅱ、希尔排序:
二、选择排序
Ⅰ、简单选择:
对57、68、59、52进行排序
1.最小值为52,跟第一个交换 : 52 68 59 57
2.最小值为57,跟第二个交换: 52 57 59 68
3.59就是最小值,不用交换,完成:52 57 59 68
Ⅱ、堆排序:
排序思想:对一组待排序记录对的关键字,首先按堆的定义排成一个序列(建立初始堆),输出堆顶的最大关键字,然后将剩余的关键字再调整成新堆,得到次大的关键字,重复这些步骤,直到全部关键字排成有序序列。
三、交换排序
Ⅰ、冒泡:
对57、68、59、52进行排序
1.57和68,59和52比较 :57 68 52 59
2.68和52比较: 57 52 68 59
3.57和52,68和59比较:52 57 59 68
Ⅱ、快速:
再分别对[]中的两部分继续进行快速排序,直到整个序列有序。
基数排序、归并排序及各个排序算法比较请看下篇《排序算法大总结(二)》。