题目内容
(请给出正确答案)
[单选题]
查找算法C: 第一步:假设数据表的最大记录数是n,待查询区间的起始记录位置F为1,终止记录位置L为n; 第二步:计算中间记录位置M=(F+L)/2,读取第M条记录。 第三步:判断第M条记录成绩是否大于给定查找成绩: (1)如果是小于,调整L= M-1, 如果F>L则结束,否则继续做第二步; (2)如果是大于,调整F= M+1,如果F>L则结束,否则继续做第二步; (3)如果是等于,则输出,继续读取M周围所有的成绩与给定查找条件相等的记录并输出,直到所有相等记录查询输出完毕则算法结束。 问:上述算法中“如果F>L则结束”说明什么?
A.说明指示查找区间的变量F和L开始相向移动,则算法结束
B.说明指示查找区间的变量F和L已经相遇并且开始背向移动,暗示未找到所查找的记录,算法结束
C.说明指示查找区间的变量F和L已经相遇,暗示已找到所查找的记录,算法结束
D.以上说明都不正确
答案
在 “ (1) 如果是小于,调整 L= M-1, 如果 F>L 则结束,否则继续做第二步”中的“L=M-1”可以改为“L=M ”
如搜索结果不匹配,请 联系老师 获取答案