在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数是多少?

正确的二分查找应该是一次折半后,high=middle-1 或者 low=middle+1;

所以第一次查找时 high=12,low=0; middle= (0+12)/2 =6,即53;

第二次查找时 high=12 low =6+1; middle = (7+12)/2 = 9,即78

 第三次查找时 high=12 low =9+1; middle = (10+12)/2 = 11,即115

 第四次查找时 high=12-1=11 low =10; middle = (10+11)/2 = 10,即80

 

 

正确的二分查找应该是一次折半后,high=middle-1 或者 low=middle+1;

所以第一次查找时 high=6,low=0; middle= (0+6)/2 = 3,即48;

第二次查找时 high=6, low =3+1; middle = (6+4)/2 = 5,即72,查出所找关键字,故答案为B、2次

猜你喜欢

转载自blog.csdn.net/weixin_40807247/article/details/82840170