在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分法查找关键码值20,需做的关键码比较次数是( )。

admin2009-02-13  15

问题 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分法查找关键码值20,需做的关键码比较次数是(    )。  

选项 A、3
B、4
C、6
D、8

答案2

解析 由题意可知,关键字20不在顺序表中,所以这次查找只能是一次失败的查找。对长度为n的线性表进行二分查找,若查找不成功,则给定值与[log2n]+1个关键字进行过比较。所以在查找关键字20的过程中比较次数为[log211]+1,即进行了4次比较。具体查找过程如图20-17所示。其中[]中是当前的检索范围,↑指示当前检索范围中位于中点位置上的元素。
转载请注明原文地址:https://kaotiyun.com/show/b91p777K
0

最新回复(0)