经典指数          
原因
3330
浏览数
0
收藏数
 

在序列(22,34,55,77,89,93,99,102,120,140)中,采用二分查找,分别查找77,34,99,所需的查找次数分别为()
  • 3,3,3
  • 3,3,4
  • 3,4,3
  • 4,2,4

     举报   纠错  
 
切换
1 个答案

22 34 55 77 89 93 99 102 120 140

0   1    2   3  4    5   6     7

   8     9

假设低下标用low表示,高下标用high表示。

查找77:

开始low = 0, high = 9

第一次查找,找到中心的下标为(0+9)/2 =

4,即89,由于89大于77,所以,调整low = 0,high =

3(注意:由于知道下标为4的元素比77大,所以不会让high等于4)

第二次查找,找到中心的下标为(0+3)/2 =

1,即34,由于34小于77,所以,调整low = 2,high = 3

第三次查找,找到中心的下标为(2+3)/2 =

2,即55,由于55小于77,所以,调整low = 3,high = 3

第四次查找,找到中心的下标为(3+3)/2 =

3,即77,找到所要找的元素

查找34和99的过程类似。。。

 
切换
撰写答案