下列三个算法是关于“大规模数据集合中查找有无某些元素”问题的-查字典问答网
分类选择

来自费玉莲的问题

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

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

  【算法A1】StartofalgorithmA1Step1.从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step2.Step2.对每一条记录,判断成绩是否等于给定的分数:如果是,则输出;如果不是,则不输出.EndofalgorithmA1

  【算法A2】StartofalgorithmA2Step1.从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step2和Step3.Step2.对每一条记录,判断成绩是否等于给定的分数:如果等于,则输出;如果不等于,则不输出.Step3.判断该条记录的成绩是否小于给定的分数:如果不是,则继续;否则,退出循环,算法结束.EndofalgorithmA2【算法A3】StartofalgorithmA3Step1.假设数据表的最大记录数是n,待查询区间的起始记录位置Start为1,终止记录位置Finish为n;Step2.计算中间记录位置I=(Start+Finish)/2,读取第I条记录.Step3.判断第I条记录的成绩与给定查找分数:(3.1)如果是小于关系,则调整Finish=I-1;如果Start>Finish则结束,否则继续做Step2;

  (3.2)如果是大于关系,则调整Start=I+1;如果Start>Finish则结束,否则继续做Step2;(3.3)如果是等于关系,则输出,继续读取I周围所有的成绩与给定查找条件相等的记录并输出,直到所有相等记录查询输出完毕则算法结束.EndofalgorithmA3针对上述三个算法,关于算法A3和算法A1,下列说法正确的是_____.(单选1分)

  A.

  如果数据表中记录数越多,则算法A3相比算法A1的优势越明显,即查找时间越短

  B.

  算法A3和算法A1的执行时间差异不会随数据表中记录数多少而变化

  C.

  如果数据表中记录数越多,则算法A1相比算法A3的优势越明显;即查找时间越短

  D.

  其它三个选项都不正确

1回答
2020-02-25 01:17
我要回答
请先登录
陈贤青

  算法A1是线性查找

  算法A3是折半查找

  线性查找的复杂度是O(N),折半查找的复杂度是O(logN),

  所以,应该选择A

2020-02-25 01:21:04

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •