选择题
2-1
已知一个长度为16的顺序表L,其元素按关键字有序排列。若采用二分查找法查找一个L中不存在的元素,则关键字的比较次数最多是: B
A.4
B.5
C.6
D.7
找最多就找到第16个数
16个结点的儿茶排序树有五层,最多比较5次
最坏情况log2n+1
2-2
用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:A
A.7
B.10
C.50
D.99
log2n+1
2-3
在有n(n>1000)个元素的升序数组A中查找关键字x。查找算法的伪代码如下所示:
k = 0;
while ( k<n 且 A[k]<x ) k = k+3;
if ( k<n 且 A[k]==x ) 查找成功;
else if ( k-1<n 且 A[k-1]==x ) 查找成功;
else if ( k-2<n 且 A[k-2]==x ) 查找成功;
else 查找失败;
本算法与二分查找(折半查找)算法相比,有可能具有更少比较次数的情形是:B
A.当x不在数组中
B.当x接近数组开头处
C.当x接近数组结尾处
D.当x位于数组中间位置
2-4
下列二叉树中,可能成为折半查找判定树(不含外部结点)的是: A
A.
B.
C.
D.