2016 数据结构 数组查找 选择题
第 9 题

在有 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 查找失败;

本算法与折半查找算法相比,有可能具有更少比较次数的情形是()

数组查找

A. 当 x 不在数组中 B. 当 x 接近数组开头处 C. 当 x 接近数组结尾处 D. 当 x 位于数组中间位置

[tag_link]

正确答案:B

此题为送分题。该程序采用跳跃式的顺利查找法查找升序数组中的 X, 显然是 x 越靠前,比较次数才会越少。