当前位置:首页 > 2019年浙江省高中信息技术选考排序和查找算法复习资料
2019年浙江省高中信息技术选考排序和查找算法复习资料
2019 年浙江省高中信息技术选考排序和查找算法复习资料
一、排序算法
1.选择排序
(1)概念:找出数组元素中最小(大)的数据,使它与第一个元素中的数据交换位置 ;在余下的元素中继续找最小(大)的元素,与第二个元素中的数据交换位置 (2)比较的次数:
n*(n-1)/2 交换的次数:小于
;
n-1 趟数: n-1
(3)算法:将数组内的数据从小到大排序
(4)例题:
例题 1:使用选择排序的方法对数据8、6、1、9、4 从大到小排序,需要进行数据比较、数据互换的次数分别是( D A、4,5 B、10,2
)
C、3,3 D、10,4
1 / 10
2019年浙江省高中信息技术选考排序和查找算法复习资料
例题2 :小陈设计了一个带密码的趣味“4+1”小游戏,小陈告诉大家,该密 码可以通过以下方法破解:将一组顺序是“3、2、8、5、 9”的数码,在用选择排序法将这组数码从大到小的排序过程中,进行两次数据交换,即得。则该密码可能是( A、98523
D
)
B、 92853 C、98523 D、 98253
例题 3:以下表格中的数据为 2009 年快乐女生十进七淘汰赛的选手信息。某同学设计了一个Visual Basic 程序用于选出晋及前七名的选手信息。程序界面如下图所示,单击“十进七晋级名单”,在list2 里显示晋及前七名的选手信息。阅读、完善以下程序,并上机验证。完成下面问题: Dim xs(1 To 10) As String Dim df(1 To 10) As Intege Private Sub Form_Load() Dim i As Integer xs(1) = \黄
英“
:
df(1) = 88
xs(2) = \江映蓉“ : xs(3) = \李霄云“ : xs(4) = \刘惜君“ : xs(5) = \谈莉娜“ : xs(6) = \郁可唯“ : xs(7) = \潘虹越“ : xs(8) = \潘
辰“
df(2) = 87 df(3) = 72 df(4) = 77 d(5) = 61 df(6) = 81 df(7) = 48 :
df(8) = 38
xs(9) = \李媛希“ : xs(10) = \曾轶可“ : For i = 1 To 10
df(9) = 36 df(10) = 51
List1.AddItem xs(i) + \ Next i End Sub
Private Sub Command1_Click()
List1.AddItem \
2 / 10
2019年浙江省高中信息技术选考排序和查找算法复习资料
Dim j As Integer, k As Integer Dim m As Integer Dim temp1 As String Dim temp2 As Integer For j = 1 To 9 m = j
For k = j + 1 To 10
If Next k If j <> m Then
temp1 = xs(j): ② xs(m) = temp1 temp2 = df(j) df(j) = df(m): df(m) = temp2 End If Next j For j = ③
① Then m= k List2.AddItem xs(j) + \Next j End Sub
1)command1 上单击事件处理过程中采用的算法是: 选择排序 2)command1 上单击事件处理过程中采用的排序方式是: 升序 3)程序中划线①处应填入 df(k) > df(m) 4)程序中划线②处应填入 xs(j) = xs(m) 5)程序中划线③处应填入 1 to 7 (填: 冒泡排序或选择排) (填升序或降序)
2.冒泡排序
3 / 10
2019年浙江省高中信息技术选考排序和查找算法复习资料
(1) 概念:把待排序的 n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻两个元素中的数据,将较小的数据换到上面的一个元素中,重复这一过程,直到处理完最后两个元素中的数据,称为第一遍加工。然后对余下的 n-1个元素重复上述处理过程,直至最后进行余下的两个数据的比较和交换。
(2)算法:将数组内的数据从小到大排序
(3)例题:
例题 1:5 位学生 100 米短跑的成绩(单位:秒)如下表。若采用冒泡排序算法对其进行排序,则第3 趟的排序结果是(
A
)
4 / 10
共分享92篇相关文档