下列三个算法是关于“大规模数据集合中查找有无某些元素”问题的算法:针对一个“学生”数据表,如下示意,找出“成绩”为某一分

下列三个算法是关于“大规模数据集合中查找有无某些元素”问题的算法:针对一个“学生”数据表,如下示意,找出“成绩”为某一分数的所有学生.
【算法A1】Start of algorithm A1Step 1.从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step 2.Step 2.对每一条记录,判断成绩是否等于给定的分数:如果是,则输出;如果不是,则不输出.End of algorithm A1
【算法A2】Start of algorithm A2Step 1.从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step 2和Step 3.Step 2.对每一条记录,判断成绩是否等于给定的分数:如果等于,则输出;如果不等于,则不输出.Step 3.判断该条记录的成绩是否小于给定的分数:如果不是,则继续;否则,退出循环,算法结束.End of algorithm A2【算法A3】Start of algorithm A3Step 1.假设数据表的最大记录数是n,待查询区间的起始记录位置Start为1,终止记录位置Finish为n;Step 2.计算中间记录位置I = (Start+Finish)/2,读取第I条记录.Step 3.判断第I条记录的成绩与给定查找分数:(3.1)如果是小于关系,则调整Finish = I-1;如果Start >Finish则结束,否则继续做Step 2;
(3.2)如果是大于关系,则调整Start = I+1;如果Start>Finish则结束,否则继续做Step 2;(3.3)如果是等于关系,则输出,继续读取I周围所有的成绩与给定查找条件相等的记录并输出,直到所有相等记录查询输出完毕则算法结束.End of algorithm A3针对上述三个算法,关于算法A3和算法A1,下列说法正确的是_____.(单选1分)
A.
如果数据表中记录数越多,则算法A3相比算法A1的优势越明显,即查找时间越短
B.
算法A3和算法A1的执行时间差异不会随数据表中记录数多少而变化
C.
如果数据表中记录数越多,则算法A1相比算法A3的优势越明显;即查找时间越短
D.
其它三个选项都不正确
ghqzty 1年前 已收到1个回答 举报

frankloveu 花朵

共回答了12个问题采纳率:83.3% 举报

算法A1是线性查找
算法A3是折半查找
线性查找的复杂度是O(N),折半查找的复杂度是O(logN),
所以,应该选择A

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.665 s. - webmaster@yulucn.com