在有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位于数组中间位置
第1题:
用折半查找方式查找N个元素的数组,当查找成功时,其递归执行程序时递归调用的最大次数是(11)。
A.
B.
C.
D.
第2题:
有一排好序的线性表,长度大于2,对给定的K值,分别用顺序查找和二分查找一个与K值相等的元素,比较的次数分别是X和Y。在查找不成功的情况下,正确的X和Y的关系是
A.X,Y
B.X<Y
C.X=Y
D.与K大小有关
第3题:
若对大小为N的有序顺序表进行顺序查找,当查找不成功时,平均查找长度为(59);当查找成功且表中仅有一个关键字等于欲查找的元素时,平均查找长度为(60)。
A.N
B.N+1
C.N/2
D.(N+1)/2
第4题:
下面程序的运行结果是#include "stdio.h" void fun(int k,int *p) { int a,b; if(k==1|| k==2) *p=1; else { fun(k-1,&a); fun(k-2,&b); *p=a+b; } }main(){ int x; fun(6,&x); printf("%d\n",x);}
第5题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
已知r[1...n]是n个记录的递增有序表,用折半查找法查找关键字为k的记录。若查找失败,则输出“failure",函数返回值为0;否则输出“success”,函数返回值为该记录的序号值。
[C函数]
int binary search(struct recordtype r[],int n,keytype k)
{ intmid,low=1,hig=n;
while(low<=hig){
mid=(1);
if(k<r[mid].key) (2);
else if(k==r[mid].key){
printf("succesS\n");
(3);
}
else (4);
}
printf("failure\n");
(5);
}
第6题:
在长度为n的线性表中顺序查找值为x的元素时,查找成功的平均查找长度为(49)。
A.n
B.n/2
C.(n+1)/2
D.(n-1)/2
第7题:
第8题:
对于n个元素的顺序表采用顺序查找,且使用监视哨。若查找成功,则比较关键字的次数最多为()次;若查找失败,则比较关键字的次数最少为()
第9题:
在一个长度为n的线性表中顺序查找值为x的元素时,在等概率情况下,查找成功时的平均查找长度()
第10题:
在一个长度为n的线性表中顺序查找值为x的元素时,查找时的平均查找长度(即x同元素的平均比较次数,假定查找每个元素的概率都相等)为()。
第11题:
n
n/2
(n+1)/2
(n-1)/2
第12题:
n/2
n
(n+1)/2
(n-1)/2
第13题:
A、n/2
B、(n+1)/2
C、(n-1)/2
D、n
第14题:
从一个具有n个结点的单链表中查找其值等于k的结点时,在查找成功的情况下,需平均比较 ______个结点。
A.n
B.n/2
C.(n-1)/2
D.(n+1)/2
第15题:
● 对 n 个元素的有序表 A[1..n]进行二分(折半)查找,则成功查找到表中的任意一个元素时,最多与A 中的 (39) 个元素进行比较。
(39)
第16题:
有一排好序的线性表,长度大于2,对给定的k值,分别用顺序查找和二分查找查找一个与k值相等的元素,比较的次数分别为x和y。在查找不成功的情况下,正确的x和y的关系是 ______。
A.x>y
B.总是x<y
C.x=y
D.与k值的大小有关
第17题:
有一个排好序的线性表,长度大于2,对给定的k值,分别用顺序查找和二分查找查找一个与k值相等的元素,比较的次数分别为x和y。在查找不成功的情况下,正确的x和y的关系是______。
A.x>y
B.总是x<y
C.x=y
D.与k值大小有关
第18题:
从具有n个结点的单链表中查找值等于x的结点时,在查找成功的情况下,平均需比较( )个结点。
A.n
B.n/2
C.(n-1)/2
D.(n+1)/2
第19题:
以下函数在a[0]到a[n-1]中,用折半查找算法查找关键字等于k的记录,查找成功返回该记录的下标,失败时返回-1,完成程序中的空格。
略
第20题:
在索引查找中,若用于保存数据元素的主表的长度为n,它被均分为k个子表,每个子表的长度均为n/k,则索引查找的平均查找长度为()。
第21题:
顺序查找n个元素的顺序表,若查找成功,则比较关键字的次数最多为()次;当使用监视哨时,若查找失败,则比较关键字的次数为()。
第22题:
从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较()个元素结点。
第23题:
第24题: