星海

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

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

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

答案

B B. 当 x 接近数组开头处

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。