高中信息技术浙教版 (2019)选修1 数据与数据结构第二章 数据与链表本章综合与测试教案配套课件ppt
展开一:什么是选择排序(selectin srt)
选择排序是对冒泡排序算法的改进,在参加排序的所有数组元素中找出最小数据的元素,使它与第一个元素中的数据相互交换位置。然后再在余下的元素中找出最小数据的元素,与第二个元素中的数据相互交换位置,以此类推,直到所有元素成为一个有序的序列。此方法中交换的次数比冒泡排序少,具有较高的效率。
i=1(用变量i表示第一遍处理,也表示第一个数据元素)在第1至第5个数组元素中找最小数据 (最小数据的下标用变量k表达,首先默认最小数据a(k)为第一个数据,然后余下的4个数据分别跟a(k)比较,如果有比a(k)小的话,k重新赋值为最小数据的下标)如果找到的最小数据下标k不是1(i)的话,那么与第一个数据元素发生交换(如果k<>i(i=1),则a(k)与a(i)交换)结果(第一个位置中的数据值最小,a(2)~a(5)为无序区域)
i=1 k=1 fr j=2 t 5 if a(j)i then t=a(k): a(k)=a(i):a(i)=tEnd if
i=2用变量i表示第二遍处理,也表示第二个数据元素)在第2至第5个数组元素中找最小数据 (最小数据的下标用变量k表达,首先默认最小数据a(k)为第二个数据,然后余下的3个数据分别跟a(k)比较,如果有比a(k)小的话,k重新赋值为最小数据的下标)如果找到的最小数据下标k不是2(i)的话,那么与第二个数据元素发生交换(如果k<>i(i=2),则a(k)与a(i)交换)结果(第一个位置中的数据值最小,a(3)~a(5)为无序区域)
i=2k=2 fr j=3 t 5 if a(j)i then t=a(k): a(k)=a(i):a(i)=tEnd if
i=3用变量i表示第三遍处理,也表示第三个数据元素)在第3至第5个数组元素中找最小数据 (最小数据的下标用变量k表达,首先默认最小数据a(k)为第三个数据,然后余下的2个数据分别跟a(k)比较,如果有比a(k)小的话,k重新赋值为最小数据的下标)如果找到的最小数据下标k不是3(i)的话,那么与第三个数据元素发生交换(如果k<>i(i=3),则a(k)与a(i)交换)结果(第一个位置中的数据值最小,a(4)~a(5)为无序区域)
i=3k=3 fr j=4 t 5 if a(j)i then t=a(k) a(k)=a(i) a(i)=tEnd if
i=4用变量i表示第四遍处理,也表示第四个数据元素)在第4至第5个数组元素中找最小数据 (最小数据的下标用变量k表达,首先默认最小数据a(k)为第四个数据,然后余下的1个数据分别跟a(k)比较,如果有比a(k)小的话,k重新赋值为最小数据的下标)如果找到的最小数据下标k不是4(i)的话,那么与第四个数据元素发生交换(如果k<>i(i=4),则a(k)与a(i)交换)结果(第一个位置中的数据值最小,a(5)~a(5)为无序区域)
i=4k=4 fr j=5 t 5 if a(j)i then t=a(k) a(k)=a(i) a(i)=tEnd if
5个数据进行选择排序的程序代码
Fr i=1 t 4 k=i fr j=i+1 t 5 if a(j)i then t=a(k):a(k)=a(i):a(i)=t End ifNext i
对数组d中的n个数进行升序排序,其程序代码如下:
Fr i=1 t n-1 k=i fr j=i+1 t n if a(j)i then t=a(k):a(k)=a(i):a(i)=t End ifNext i
对数组d中的n个数进行降序排序,其方框处程序代码如何修改
在i到n中定位最小数的位置
如果k<>i,则a(k)与a(i)交换
课 堂 练 习
1、某数组10个元素,依次为2、20、12、15、13、50、55、60、80、30,若采用选择排序算法进行降序排序,则第4遍排序完成时的数据序列为 ( )
B. 80、60、55、50、13、15、12、20、2、30
A. 80、60、55、50、12、13、15、20、2、30
C. 80、60、55、50、13、15、20、12、2、30
D. 80、60、55、50、30、20、15、13、12、2
2、有6个数据,经过选择排序第一遍交换后,顺序为:21、65、36、84、45、72,则原始数据顺序不可能是( )
A. 36、65、21、84、45、72 B. 84、65、36、21、45、72
C. 65、36、21、84、45、72 D. 45、65、36、84、21、72
3、用选择排序法对数据7、6、3、9、2五个数据从大到小排序,共需经过( )次数据对调。
A. 10 B. 4 C. 5 D. 3
选择排序算法的流程图如图所示,请完成该算法的程序代码(以升序为例)
Dim i, j, k, t As IntegerFr i=1 T n-1 ___________ Fr ___________ If d(j)
j = i+1 t n
t=a(k):a(k)=a(i):a(i)=t
1、某校通过政府投标中心采购一套多媒体教学设备,有5家单位参加竞标,竞标价分别为19万、15万、21万、13万、12万元人民币。若采用选择排序算法对标价从大到小排序,需要进行数据互换的次数是 ( )
A. 1 B. 2 C. 3 D. 4
2.某食品连锁店5位顾客贵宾消费卡的积分依次为900、512、613、700、810,若采用选择排序算法对其进行从小到大排序,如下表,第二趟的排序结果是( )
A.512 613 700 900 810 B.512 810 613 900 700 C.512 900 613 700 810 D.512 613 900 700 810
3、有6位裁判为运动员评分,给出的分数分别为49、45、61、46、58、57。采用选择排序对其进行排序,若完成第一遍时的结果为:61、45、49、46、58、57,则完成第二遍时的结果是( )61、45、49、46、58、57 B. 61、58、57、49、45、46C. 61、58、57、46、45、49 D. 61、58、49、46、45、57
4、用选择排序算法对一组学生的身高数据进行升序排序,已知第一遍排序结束后的数据序列为165、168、178、175、171,则下列选项中可能是原始数据序列的是: ( )175、178、168、165、171 B. 178、168、165、175、171C. 165、178、168、175、171 C.165、168、171、175、178
s=“ “Fr i=1 t 3 h=1 Fr j=i+1 T 8 If a(h)h Then t=a(i) : a(i)=a(h) : a(h)=t End If s=s+Str(h)Next iText1.Text=s
数组元素a(1)到a(8)的数据依次为“2,5,20,9,10,8,11,1”经过该程序段“加工”后,文本框Text1中显示的内容是( )
8 1 2 B. 8 2 1C. 3 7 5 D. 3 5 7
6、对数组元素a(1)到a(8)进行升序排序,其排序算法的VB部分程序段如下:
Fr m=1 T 7 p=m Fr n=m+1 T 8 Next n If p<>m Then t=a(p) : a(p)=a(m) : a(m)=tNext m
方框中的语句是( )
A. If a(n)a(p) Then p=n D. If a(n)>a(p) Then p=m
7、下列VB程序段是选择排序程序的主要部分。其中虚线框内代码用于寻找数据元素d(i)到d(n)的最小值。
……Fr i=1 T n-1
k=IFr j=i+1 T n If d(j)
框内代码运行结速时,保存最小值的数组元素一定是( )
A. d(n) B. d(j) C. d(i) D. d(k)
8、10位选手参加面试的顺序通过抽签决定。小陈设计了一个抽签排序的VB程序,功能如下:该程序远行时,在左边列表框List1中显示所有选手的编号与抽签号,单击“排序”按钮Cmmand1,选手的信息按抽签号从小到大排序,并将结果显示在右边列表框List2中。实现该功能的VB程序如下,但加框处代码有错,请改正。
Dim a(1 t 10) As String 数组a用于储存10位选手编号Dim b(1 t 10) As Integer 数组b用于储存10位选手的抽签号Frm_Lad 过程用于数组a和数组b的赋值,并显示在列表框List1中Private Sub Frm_Lad 第i位选手编号存储在a(i)中,该选手的抽签号储存在b(i) 代码略End Sub
Private Sub Cmmand Click( ) Dim k As Integer, i As Integer, j As Integer Dim t1 As String, t2 As Integer Fr i= 1 T 9 k=i Fr j=i+1 T 1 If b(j)I Then t1=a(i) : a(i)=a(k) : a(k)=t1 t2=b(i) : b(i)=b(k) : b(k)= t1 End if Next i Fr i=1 T 10 List1 . AddiItem Str(b(i)+” “+a(i) Next IEnd Sub
(1)处应该为:________
(2)处应该为:________
(3)处应该为:________
浙教版 (2019)选修1 数据与数据结构5.3 数据排序背景图课件ppt: 这是一份浙教版 (2019)选修1 数据与数据结构5.3 数据排序背景图课件ppt,共14页。PPT课件主要包含了确定数据比较的轮数,确定每一轮比较的次数等内容,欢迎下载使用。
高中信息技术教科版 (2019)选修1 数据与数据结构3.2 数据的排序教案配套课件ppt: 这是一份高中信息技术教科版 (2019)选修1 数据与数据结构3.2 数据的排序教案配套课件ppt,共14页。PPT课件主要包含了回顾上节课主要内容,学习目标,情景导入,冒泡排序,冒泡排序的前四遍,设计算法,冒泡排序完成,自然语言描述,直接插入排序等内容,欢迎下载使用。
高中信息技术沪教版(2019)选修1 数据与数据结构3.尝试使用选择排序法实现商品销量排序精品课件ppt: 这是一份高中信息技术沪教版(2019)选修1 数据与数据结构3.尝试使用选择排序法实现商品销量排序精品课件ppt,文件包含项目八第三课时pptx、项目八第三课时doc等2份课件配套教学资源,其中PPT共37页, 欢迎下载使用。