首页 > 试题广场 > 若有序表的关键字序列为(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)
这题有问题吧
编辑于 2019-02-28 15:34:52 回复(1)
按照二分查找的思想下标折半,这道题的查找顺序应当是:
(0 + 9)/ 2 = 4 ~~~> (0 + 3)/ 2 = 1 ~~~> 0 即 f ~~~> c ~~~> b
编辑于 2019-03-01 14:28:39 回复(1)
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)