5种排序算法ppt

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

常用的5种排序算法1.冒泡排序简介:冒泡排序(BUBBLESORT),是一种计算机领域领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。冒泡排序原理:比较相邻的元素,将小的放到前面,(每一轮找出数组中最大的放在后面,后面排好序的数组元素不参与下轮排序)下面将数组[7,8,5,1,3]里面的元素进行排序。785131.1:785137和8进行比较,因为78所以2个元素的位置不变2.1:571381.3:751838和1进行比较,因为81所以2个元素的位置互换1.4:75138同理,8和3互换位置,得到最大数8,并且不参与下一轮排序1.2:758138和5进行比较,因为85所以2个元素的位置互换...同理第二轮排序得到最大数是7,放在最后,依次得到每一轮的最大值,这样小的数就在前面,大的数放在后面,最后得到所要的数组[1,3,5,7,8]。1.选择排序简介:将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素。原理:1.将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素2.循环第1条规则,找出最小元素,放于第1个位置3.经过n-1轮比较完成排序527381.1:2573825,所以2和5互换位置1.3:257381.4:25738第一轮得出最小的元素为”2”1.2:2573872,所以2个元素位置不变同理第三轮排序得到该轮最小数是5,放在第三个位置,依次得到每一轮的最小值,这样小的数就在前面,大的数放在后面,最后得到所要的数组[2,3,5,7,8]。2.1:25738第二轮从5的位置开始比较,75,位置不变2.2:2375835,位置互换2.3:2375883,位置不变2.4:23758第二轮排序结束得到该轮最小值”3”1.插入排序简介:将数组分为两部分,将后部分的第一个逐一与前部分每一个元素比较,在合理位置插入。原理:1.将数组分为两部分,将后部分的第一个逐一与前部分每一个元素比较,在合理位置插入2.插入排序算法效率要高于选择排序和冒泡排序78513将数组分为7和8,5,1,3两部分1:7851387,所以位置不变3:1578318&&17&&15,所以1放到5,7,8的前面4:13578将3依次和前面元素比较,得到35,13,所以3在1和5之间,结束2:5781358&&57,所以5放到7和8的前面这样我们发现,插入排序速度要比冒泡排序和选择排序快很多1.快速排序简介:先从数据序列中选一个元素,并将序列中所有比该元素小的元素都放到它的右边或左边,再对左右两边分别用同样的方法处之直到每一个待处理的序列的长度为1,处理结束。原理:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。4785109312111:选10位一个基准数,进行第一次排序,小于10的放左边,大于10的放右边,得到新的数组[4,7,8,5,9,3,10,12,11],以10为基准分成左右2部分,[4,7,8,5,9,3],10,[12,11],两边数组分别进行快速排序,以数组第一个元素作为基准进行排序。当前数据为[4,7,8,5,9,3],10,[12,11]2:[4,7,8,5,9,3]以第一个元素4作为基准排序得到[3,4,5,7,8,9];后面的数组为[11,12],结束。当前数据为[3],4,[5,7,8,9],10,11,12,因为3为单个的,所以[3]不需再进行排序,目前只需对[5,7,8,9]进行处理3:[5,7,8,9],以第一个元素5作为基准排序,得到5,[,7,8,9]当前数据为3,4,5,[7,8,9],10,11,124:类似步骤3,分别把7,8,9给独立出来,最终得到数据3,4,5,7,8,9,10,11,121.桶子排序简介:依次进行个位、十位、百位…的比较和排序,得到最后的结果。原理:依次进行个位、十位、百位…的比较和排序,得到最后的结果。211081312350101212313,12345567889个位依次从上至下排序,得到10,21,13,123,5,805,8110,13221,123313456789十位依次从上至下排序,得到5,8,10,13,21,12305,8,10,13,21112323456789百位依次从上至下排序,得到5,8,10,13,21,123桶子排序总结:由于每次对各个位数进行比较排序时都遍历一遍数组,所以对于个别元素的位数比较大时,性能会降低不少。附:

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功