首页 > 试题广场 >

在有n(n>1000)个元素的升序数组A中查找关键字x。查找

[单选题]
在有 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 查找失败;

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


  • 当 x 不在数组中
  • 当 x 接近数组开头处
  • 当 x 接近数组结尾处
  • 当 x 位于数组中间位置
这就是顺序查找,肯定如果x比较靠前的话效率可能比较高
发表于 2022-11-12 16:37:30 回复(0)