折半查找有序表(2,5,8,20,25,36,40,60)。若查找60,需要依次比较的元素是( )

admin2023-02-06  28

问题 折半查找有序表(2,5,8,20,25,36,40,60)。若查找60,需要依次比较的元素是(    )

选项 A、20,36,40,60
B、25,40
C、25,40,60
D、20,36,40

答案A

解析 本考点大部分题目都考查在有序表上利用折半查找算法查找元素的方法以及查找成功或查找失败的平均查找长度,我们不再赘述。简单地画一个顺序表A来帮助我们分析:

对上表进行折半查找元素60,首先(low+high)/2=(1+8)/2=4,显然A[4]-20≤60,故而,在A[5]~A[8]中再进行折半查找。
此时,low=mid+1=4+1=5,high=8,mid=(low+high)/2=(5+8)/2=6,显然A[6]=36<60,继续在A[7]~A[8]中查找。
此时,low=mid+1=6+1=7,high=8,因为mid=(low+high)/2=(7+8)/2=7,A[7]=40≤60,继续在A[8]中查找。刚好,A[8]=60,查找成功,总共比较了4次,分别与元素20、36、40、60进行了比较。
转载请注明原文地址:https://kaotiyun.com/show/gBwD777K
0

相关试题推荐
最新回复(0)