首页 > 试题广场 > 设有序表的关键字序列为{1,4,6,10,18,35,42,
[单选题]

设有序表的关键字序列为{1461018354253677178849299},当用二分查找法查找键值为35的结点时,经()次比较后查找成功。

  • 2
  • 3
  • 4
  • 6
c
查找的次数也就是比较的次数
二分查找的核心是用中间的数和目标数比较
第一次比较的是第7个数 42
第二次比较的是第3个数 6
第三次比较的是第5个数18
第四次比较的是第6个数35,也就等于目标数,返回
所以总的查找次数是4次
发表于 2019-06-12 11:54:22 回复(0)
更多回答
推荐
C
第1次
1461018354253677178849299    
left=0,right=13,mind=6;   mid值为42,太大
第2次
146101835,42,53,67,71,78,84,92,99    
left=0,right=5,mind=2;   mid值为6,太小
第3次
1461018354253677178849299    
left=3,right=5,mind=4;   mid值为18,太小
第4次
1461018354253677178849299    
left=5,right=5,mind=5;   mid值为35,找到了
编辑于 2019-06-12 14:26:17 回复(0)
选C 。考察的是二分法查找基本过程原理。
基本过程如下
  1. 将待查找有序数列{1461018354253677178849299}中间记录位置的关键字42与查找关键字35做比较,由于42>35,则继续查找中间位置的前一个子表
  2. 根据以上第1步形成的待查找有序数列为{146101835}中间记录位置关键字为6,与查找关键字35做比较,由于6<35,则继续查找中间位置后一个子表
  3. 根据以上第2步形成的待查找有序序列为{101835}中间记录位置关键字为18,与查找关键字35做比较,由于18<35,则继续查找中间位置后一个子表
  4. 根据以上第3步形成的待查找有序序列{35},中间关键字等于待查关键字35所以查找成功

编辑于 2019-06-11 18:04:46 回复(0)
链接:https://www.nowcoder.com/questionTerminal/cd1c919757bd4ecb825df40fccb426e0
来源:牛客网
选C 。考察的是二分法查找基本过程原理。
基本过程如下
  1. 将待查找有序数列{1461018354253677178849299}中间记录位置的关键字42与查找关键字35做比较,由于42>35,则继续查找中间位置的前一个子表
  2. 根据以上第1步形成的待查找有序数列为{146101835}中间记录位置关键字为6,与查找关键字35做比较,由于6<35,则继续查找中间位置后一个子表
  3. 根据以上第2步形成的待查找有序序列为{101835}中间记录位置关键字为18,与查找关键字35做比较,由于18<35,则继续查找中间位置后一个子表
  4. 根据以上第3步形成的待查找有序序列{35},中间关键字等于待查关键字35所以查找成功
发表于 2019-06-12 11:18:23 回复(0)
答案:C
第一次:1 4 6 10 18 35 42 53 67 71 78 84 92 99
left = 1, right = 14, mid = 7,而35>42,故在左边区间寻找,
第二次:1 4 6 10 18 35
left = 1, right = 6, mid = 3, 而6<35,故在右边区间寻找,
第三次:10 18 35
left = 4 ,right = 6;mid = 5,而18<35,故在右边区间寻找
第四次:35
left = 6, right = 6, mid = 6, 35=35,寻找到,
因此,比较了四次,分别与42、6、18、35比较
发表于 2019-06-11 20:57:39 回复(0)