- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- + 算法实例
- 枚举算法
- 解析算法
- 排序算法
- 查找算法
- 递归算法
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
某学籍管理系统软件有2万个学生的电子档案(已按学籍号排序),假设从中取出一条记录并与待查项进行比较所花时间为10毫秒,则用对分法在该系统中查找任意一位学生档案最多花费的时间约( )
A.10万毫秒 | B.20万毫秒 | C.130毫秒 | D.150毫秒 |
关于对分查找,下列说法正确的是( )
A.对分查找的数据必须是有序排列的 | B.对分查找的数据类型必须是数值型的 |
C.顺序查找比对分查找的查找速度快 | D.使用对分查找对未排序数据查找时速度较慢 |
酒店房间管理问题:某酒店房间(房间数小于1000)编号按1、2、3……连续编号,客房经理对没有入住的房间使用如下方法来登记管理。连续的空房间,登记第一个房间的编号和连续的空房间数,比如空房间1,2,6,7,8,10,则登记3条记录,分别为1_2,6_3,10_1。某旅客如果退房,需要把这个房间号也登记进去,共有4中情况需要处理:
(1)上靠:若退的房间号为3,则原来登记的记录变为1_3,6_3,10_1;
(2)下靠:若退的房间号为5,则原来登记的记录变为1_2,5_4,10_1;
(3)上下靠:若退的房间号为9,则原来登记的记录变为1_2,6_5;
(4)上下都不靠:若退的房间号为4,则原来登记的记录变为1_2,4_1,6_3,10_1
根据上述规则,小明编写了相应的VB程序,程序启动时读入空房间数据,并在列表框List1中显示,在文本框Text1中输入退房号,单击“退房”按钮后更新列表框List1中的数据。
程序界面如下图所示,请回答下列问题:

(1)当前登记的记录有3条,分别为2_3,6_2,9_4。某旅客退掉8号房间,则登记的记录将变为________。
第二部分通用技术(共50分)
(2)实现上述功能的VB程序如下,请将划线处的代码补充完整。
Const n=1000
Dim a(0 To n)As Integer
a(i)保存第i条记录的开始房间号
Dim b(0 To n)As Integer
b(i)保存第i条记录的房间数
Dim c As Integer, k As Integer, sp As Integer
k为原始记录数
Private Sub Form_Load()
程序启动时从数据库中读取原始k条记录,依次存入a(1),b(1),a(2),b(2),…,a(k),b(k),代码略
为了程序处理方便,虚设下面两条记录
A(0)=0:b(0)=0:sp=k+1:a(sp )=1000:b(sp)=0
End Sub
Private Sub Command1_Click()
以下处理退房登记问题
Ifa(i)+b(i)=c Then
If a(i+1)=c+1Then
处理第3种情况
Next j
sp = sp-1
处理第2种情况
处理第4种情况
List1.Clear
For i=1To sp-1
(1)上靠:若退的房间号为3,则原来登记的记录变为1_3,6_3,10_1;
(2)下靠:若退的房间号为5,则原来登记的记录变为1_2,5_4,10_1;
(3)上下靠:若退的房间号为9,则原来登记的记录变为1_2,6_5;
(4)上下都不靠:若退的房间号为4,则原来登记的记录变为1_2,4_1,6_3,10_1
根据上述规则,小明编写了相应的VB程序,程序启动时读入空房间数据,并在列表框List1中显示,在文本框Text1中输入退房号,单击“退房”按钮后更新列表框List1中的数据。
程序界面如下图所示,请回答下列问题:

(1)当前登记的记录有3条,分别为2_3,6_2,9_4。某旅客退掉8号房间,则登记的记录将变为________。
第二部分通用技术(共50分)
(2)实现上述功能的VB程序如下,请将划线处的代码补充完整。
Const n=1000
Dim a(0 To n)As Integer

Dim b(0 To n)As Integer

Dim c As Integer, k As Integer, sp As Integer

Private Sub Form_Load()


A(0)=0:b(0)=0:sp=k+1:a(sp )=1000:b(sp)=0
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer
c=Val(Text1.Text)
i=1
Do While a(i)<c
i=i+1Loop
i=i-1

Ifa(i)+b(i)=c Then
If a(i+1)=c+1Then

①__________
For j=i+1 To sp-1
a(j)=a(j+1):b(j)=b(j+1)Next j
sp = sp-1
Else 处理第1种情况
End If
ElseIfc+1=a(i+1)Then
a(i+1)=c:b(i+1)=b(i+1)+1
Else
For j= ②________
a(j)=a(j-1):b(j)=b(j-1)Next j
a(i+1)=c:b(i+1)=1: ③______
End IfList1.Clear
For i=1To sp-1
List1.Addltem"第"& CStr(i) &"条记录"&CStr(a(i))&"_"&CStr(b(i))
CStr函数的作用是将数字转成字符串
Next i
End Sub小李忘记了密码箱上设置的三位数密码,于是他从“000”开始尝试,一直到成功打开密码箱为止。这种解锁方法采用的算法是( )。
A.解析算法 | B.穷举算法 | C.递归法 | D.选择排序 |
下列关于程序设计中查找算法的描述,正确的是( )
A.顺序查找和二分法查找都是常用的查找算法 |
B.二分法查找一定优于顺序查找 |
C.顺序查找一定优于二分法查找 |
D.当数据有序时,不适用二分法查找 |
(加试题)以下一段程序其功能是对数组a(下标范围为1 to n)中的数据进行升序排序,划线处应填入的正确语句是( )
For i =
For j = 2 To i
If a(j) > a(j - 1) Then
k = a(j): a(j) = a(j -1): a(j -1) = k
End If
Next j
Next i
For i =
For j = 2 To i
If a(j) > a(j - 1) Then
k = a(j): a(j) = a(j -1): a(j -1) = k
End If
Next j
Next i
A.n to 2 Step -1 | B.2 to n | C.n-1 to 1 Step -1 | D.1 to n -1 |
数组a中存放了字符串,存放情况如下表:

现对数组a进行查找操作,以下表述正确的是

现对数组a进行查找操作,以下表述正确的是
A.用顺序方式查找"Hit",必须先将数组a进行升序排列 |
B.用对分方式查找"Hit",依次被比较的字符串为:"Egg","Pay","Hit" |
C.由于数组a中没有"Red",所以无法进行顺序查找 |
D.用对分方式查找"Bag",依次被比较的字符串为:"Day","Bag" |
将6名选手的歌唱比赛成绩存放在数组a中,如下表所示:

若按升序排列,采用冒泡排序算法自右向左进行比较和交换,那么完成前二轮的数据处理,比较的总次数为

若按升序排列,采用冒泡排序算法自右向左进行比较和交换,那么完成前二轮的数据处理,比较的总次数为
A.10 |
B.4 |
C.9 |
D.5 |