2018浙江高中信息技术排序和查找算法复习资料总结复习过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2018年浙江省高中信息技术选考排序和查找算法复习资料

一、排序算法

1.选择排序

(1)概念:找出数组元素中最小(大)的数据,使它与第一个元素中的数据交换位置;在余下的元素中继续找最小(大)的元素,与第二个元素中的数据交换位置;……

(2)比较的次数:n*(n-1)/2 交换的次数:小于n-1 趟数:n-1

(3)算法:将数组内的数据从小到大排序

for i=1 to n-1

min=i

for j=i+1 to n

if d(j)

next j

if min<>i then

k=d(min)

(4)例题:

例题1:使用选择排序的方法对数据8、6、1、9、4从大到小排序,需要进行数据比较、数据互换的次数分别是( D )

A、4,5

B、10,2

C、3,3

D、10,4

例题2:小陈设计了一个带密码的趣味“4+1”小游戏,小陈告诉大家,该密

码可以通过以下方法破解:将一组顺序是“3、2、8、5、9”的数码,在用选择排

序法将这组数码从大到小的排序过程中,进行两次数据交换,即得。则该密码可能

是( D )

A、98523

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) = "江映蓉“: df(2) = 87

xs(3) = "李霄云“: df(3) = 72

xs(4) = "刘惜君“: df(4) = 77

xs(5) = "谈莉娜“: d(5) = 61

xs(6) = "郁可唯“: df(6) = 81

xs(7) = "潘虹越“: df(7) = 48

xs(8) = "潘辰“: df(8) = 38

xs(9) = "李媛希“: df(9) = 36

xs(10) = "曾轶可“: df(10) = 51

For i = 1 To 10

List1.AddItem xs(i) + " " + Str(df(i))

List1.AddItem ""

Next i

End Sub

Private Sub Command1_Click()

Dim j As Integer, k As Integer, 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 ①Then m= k

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 = ③

List2.AddItem xs(j) + " " + Str(df(j))

List2.AddItem ""

Next j

End Sub

1)command1上单击事件处理过程中采用的算法是:选择排序(填:冒泡排序或选择排)2)command1上单击事件处理过程中采用的排序方式是:升序(填升序或降序)

3)程序中划线①处应填入df(k) > df(m)

4)程序中划线②处应填入xs(j) = xs(m)

5

)程序中划线③处应填入 1 to 7

2.冒泡排序

(1)概念:把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一

个元素起,自下而上地比较相邻两个元素中的数据,将较小的数据换到上面的一个元素中,重复这一过程,直到处理完最后两个元素中的数据,称为第一遍加工。然后对余下的n-1个元素重复上述处理过程,直至最后进行余下的两个数据的比较和交换。

(2)算法:将数组内的数据从小到大排序

(3)例题:

例题1:5位学生100米短跑的成绩(单位:秒)如下表。若采用冒泡排序算法对其进行排序,则第3趟的排序结果是( A )

for i=1 to n-1

for j=n to i+1 step -1

if d(j)

k=d(j)

d(j)=d(j-1)

d(j-1)=k

A、12.6 12.8 13.3 14.2 13.5

B、 12.6 12.8 13.3 13.5 14.2

C、12.6 12.8 14.2 13.5 13.3

D、 12.6 12.8 13.5 14.2 13.3

例题2:下表记录了6个数据排序的过程。分析表中数据可知,该排序采用的算法

与排序方式分别为( C )

相关文档
最新文档