首页 > 编程语言 > 详细

排序算法大总结(一)

时间:2015-03-25 15:22:31      阅读:159      评论:0      收藏:0      [点我收藏+]

          提到算法大多数人感觉可能是好高大上呀,其实这些算法都是生活中我们在不经意之间用到的。比如当下最火的真人秀节目《我是歌手》在第12期突围赛宣布结果的时候就是用到了冒泡法。那么接下来让我们看看还有哪些其他的排序算法。

    首先,关于排序的算法如下:

                                           技术分享

     算法书上给的官方的解释一大堆看着晦涩难懂,我们用举例的方法一一介绍具体怎么用。

     一、插入排序

         Ⅰ、直接插入:

                                                        对45、56、48、23进行排序

                   1.56>45不处理

                   2.45<48<5648插到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

         Ⅱ、快速:

                        技术分享

      再分别对[]中的两部分继续进行快速排序,直到整个序列有序。

      基数排序、归并排序及各个排序算法比较请看下篇《排序算法大总结(二)》。


排序算法大总结(一)

原文:http://blog.csdn.net/mqplw/article/details/44621249

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!