问题 单项选择题

在有11个元素的有序数组a[1..11]中进行二分查找(即折半查找),依次与()比较后,成功找到元素a[5]。

A.a[6]、a[2]、a[5]

B.a[6]、a[4]、a[5]

C.a[6]、a[3]、a[4]、a[5]

D.a[6]、a[8]、a[4]、a[5]

答案

参考答案:C

解析:

本题考查二分查找运算。  设查找表的元素存储在一维数组r[1..n]中,在表中的元素已经按关键字递增方式排序时,进行折半查找的方法是:首先将给定 值( key)与表r中间位置上(下标为mid)的记录的关键字进行比较,若相等,则查找成功;若key>r[mid].key,则说明待查记录只可能在 后半个子表r[mid+1..n]中,下一步应在后半个子表中进行查找,若key折半查找的过程可以用一棵二叉树描述。以当前查找区间的中间位置序号作为根,左半个子表和右半个子表中的记录序号分别作为根的左子树和右子树上的结点,这样构造的二叉树称为折半查找判定树。

题目中有序数组a[1..11]有11个元素,因此,在其中进行二分查找的过程如下图所示

单项选择题
判断题