题目
设有序表(12,18,30,43,56,78,82,95),用二分法查找56时,需要进行的比较次数为( )A. 2B. 3C. 4D. 5
设有序表{12,18,30,43,56,78,82,95},用二分法查找56时,需要进行的比较次数为( )
A. 2
B. 3
C. 4
D. 5
题目解答
答案
B. 3
解析
步骤 1:确定查找范围
有序表为{12,18,30,43,56,78,82,95},查找目标为56。二分法查找首先确定查找范围,即整个有序表。
步骤 2:计算中间位置
查找范围的中间位置为(0+7)/2=3,即第4个元素43。比较43和56,43<56,因此目标值在右半部分。
步骤 3:更新查找范围
更新查找范围为{56,78,82,95},中间位置为(4+7)/2=5,即第6个元素78。比较78和56,78>56,因此目标值在左半部分。
步骤 4:更新查找范围
更新查找范围为{56},中间位置为(4+5)/2=4,即第5个元素56。比较56和56,56=56,找到目标值。
有序表为{12,18,30,43,56,78,82,95},查找目标为56。二分法查找首先确定查找范围,即整个有序表。
步骤 2:计算中间位置
查找范围的中间位置为(0+7)/2=3,即第4个元素43。比较43和56,43<56,因此目标值在右半部分。
步骤 3:更新查找范围
更新查找范围为{56,78,82,95},中间位置为(4+7)/2=5,即第6个元素78。比较78和56,78>56,因此目标值在左半部分。
步骤 4:更新查找范围
更新查找范围为{56},中间位置为(4+5)/2=4,即第5个元素56。比较56和56,56=56,找到目标值。