2016 · 单选题 · 第 212 题
计算机学科专业基础(408) · 第 212 题
在有 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 位于数组中间位置
答案
B B. 当 x 接近数组开头处