排 序
第二章 算法实例
排序?
第二章 算法实例
把无序的数据变为有序的数据的过程。
排序过程
动画演示
点击输标
冒泡排序基本原理:
在一列数据中把较小的数据逐次向上推移的一种排序技术。
把待排序的n个元素的
数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上的比较相邻的两个元素中的数据,将较小的数据换到上面的一个元素中。
重复这一过程,直到处理完 最后两个元素中的数据,称为一遍加工。当第一遍加工完成时,最小的数据已经上升到到第一个元素的位置。
然后对余下的n-1个元素重复上述处理过程,直至最后进行余下两个数据的比较与交换。由于每一遍加工都是将本遍最小的元素像气泡一样上浮至本遍的顶端位置,故称为冒泡排序。
1
2
3
4
A 3,15,130,20,98,67
B 3,15,20,130,98,67
C 3,15,20,67,130,98
D 3,15,20,67,98,130
某校有6名学生参加学生会主席竞选我,得票数依次
为3,130,20,98,15,67。若采用冒泡排序算法对
其进行从小到时大排序,则完成第一遍时的结果是( )
原始数据 14 11 13 8 9
第一趟 8 14 11 13 9
第二趟
第三趟 8 9 11 14 13
第四趟 8 9 11 13 14
大足球联赛中,有5个班级的比赛的积分依次为14,11,13,8,9,若采用冒泡排序算法对其进行从小到大排序,则第二趟的排序结果是( )
A 684521
B 462518
C 126485
D 864521
对”648251”中的6个数码进行两轮从小到大冒泡后即为某游戏中数字密码锁的密码,该密码为( )
冒泡排序算法存在的问题?
第二章 算法实例
在执行的过程中交换的次数过多
排序过程
动画演示
点击输标
选择排序基本原理:
是对冒泡排序算法
的改进。
在参加排序数组的所有元素中找出最小数据的元素,使它与第一个元素中的数据相互交换位置。
然后再余下的元素中找出最小数据的元素,与第二个元素中的数据相互交换位置。
以此类推,直到所有元素成为一个有序的序列。由于排序过程中,交换的次数比冒泡排序小,因此它具有较高的效率。
1
2
3
4
A 10,11,41,75,12,63,85
B 10,11,75,12,63,41,85
C 10,11,12,75,63,41,85
D 10,11,12,41,63,75,85
选择排序中,经过一遍排序后,数组元素a(1)到a(7)的数据依次为“10,41,75,12,63,11,85”。则下一遍排序后数组元素a(1)到a(7)的数据依次是( )
A 5
B 4
C 3
D 2
某校有五位同学参加学生会主席竞选,得票次依次为“110,98,3,150,67”。使用选择排序的方法从小到时到大排序,需要数据进行交换的次数是( )
问题探究