首页 > 试题广场 >

对有18个元素的有序表R[1...18]进行二分查找,则查找

[单选题]
对有18个元素的有序表R[1...18]进行二分查找,则查找A[3]的比较序列为:
  • 1,2,3
  • 9,5,2,3
  • 9,5,3
  • 9,4,2,3
二分法查找,序列元素数是偶数,中间两个数取下整数比较。
已经比较了的数,不要包含在下一次的区间内。
这里R[9] R[10]取R[9]比较, 9>3;
在[1,8]内取R[4], 4>3
[1,3]内取R[2], 2<3
R[3] == 3
发表于 2020-09-08 16:16:11 回复(0)
题目的意思我的理解是:
在[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]中寻找3,利用二分法的查找的过程;
第一次尝试,[1,18]区间,(1+18)/ 2 = 9, 发现9大于3,所以肯定在左边;
第二次尝试,[1,8]区间,因为上一步发现9大了,所以确定上限是8,(1+8)/ 2 = 4,4大于3;
第三次尝试,[1,3]区间,道理如上,(1+3)/ 2 = 2,2小与2;
第四次尝试,[3,3],3==3,找到了;
结束。
编辑于 2019-09-03 09:54:46 回复(3)
上限与下线已经比较过了,需要向前或向后移动一位。
发表于 2020-11-16 17:36:32 回复(0)
有大佬解释下么?读不懂题。
发表于 2019-05-16 21:26:03 回复(5)