首页 > 试题广场 >

若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,

[单选题]

若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次是()

  • f,c,b
  • f,d,b
  • g,c,d
  • g,d,b
推荐
答案应为f,c,b.
解析:
{b,c,d,e,f,g,q,r,s,t}
0,1,2,3,4,5,6,7,8,9
二分查找第一次(9+0)/2=4   所以第一次找到了f,比较b与f,因为b<f,所以下一次在左半部分查找,
(3+0)/2=1   ,比较b与c,因为b<c,所以在c的左边查找,
(0+0)/2=0,此时比较b与b,b==b,查找成功!
故答案应为f,c,b.
编辑于 2019-03-15 18:45:27 回复(0)
按照二分查找的思想下标折半,这道题的查找顺序应当是:
(0 + 9)/ 2 = 4 ~~~> (0 + 3)/ 2 = 1 ~~~> 0 即 f ~~~> c ~~~> b
编辑于 2019-03-01 14:28:39 回复(1)
这题有问题吧
编辑于 2019-02-28 15:34:52 回复(1)
感觉这题有问题。 之前遇到类似的题,我的解法没出错,具体是:第一个比较的元素是 元素个数/2=5 角标5对应本题应该是g ,第二个比较的元素是 (0+4)/2=2  角标2对应本题应该是d第三个比较的元素是 (0+1)/2=0  角标0对应本题应该是b, 因此我选了D,结果这题却错了。
发表于 2019-09-10 17:32:05 回复(0)
f -> c -> b 没有答案吧
发表于 2019-02-28 20:49:33 回复(0)
B
元素个数n=10,第一步n/2=5,所示是g;
第二步,n/4=2,所以是d;
第三步,n/8=1,所以是c;
gdcb
发表于 2019-02-28 16:04:58 回复(0)
f,c,b
这题目有问题.
发表于 2019-02-28 15:46:27 回复(0)