对关键码序列(9,12,15,20,24,29,56,69,87)进行二分查找(折半查找),若要查找关键码15;则需依次与( )进行比较。

2023-09-01

A.87、29、15
B.9、12、15
C.24、12、15
D.24、20、15

参考答案:C

二分法查找(折半查找)的基本思想是:(设R[low,?,high]是当前的查找区) (1)确定该区间的中点位置:mid=[(low+high)/2]; (2)将待查的k值与R[mid].key比较,若相等,则查找成功并返回此位置,否则需确定新的查找区间,继续二分查找,具体方法如下。 若R[mid].key>k,则由表的有序性可知R[mid,?,n].key均大于k,因此若表中存在关键字等于k的结点,则该结点必定是在位置mid左边的子表R[low,?,mid–1]中。因此,新的查找区间是左子表R[low,?,high],其中high=mid–1。 若R[mid].key

相关推荐