第1题:
A、顺序查找
B、折半查找
C、哈希查找
D、二叉排序树查找
第2题:
在查找算法中,可用平均查找长度(记为ASL)来衡量一个查找算法的优劣,其定义为:
此处Pi为表中第i个记录被查找的概率,Ci为查找第i个记录时同关键字比较的次数,n为表中记录数。
以下叙述中均假定每一个记录被查找的概率相等,即Pi=//n(i=1,2,…,n)。当表中的记录连续存储在一个一维数组中时,可采用顺序查找与折半查找方法(折半查找要求表是按关键字有序排列的)。顺序查找时的ASL为(19),折半查找时的ASL为(20)。记录的关键字有序时,用二叉排序树查找记录,在最坏的情况下,ASL为(21)。当二叉排序树是一棵平衡树时,ASL为(22)。在平衡树上删除一个结点后可以通过旋转使其平衡,最坏的情形下需(23)次旋转。
A.O(1)
B.O(log2n)
C.O(log2n2)
D.O(nlog2n)
E.O(n)
第3题:
Intfun(inta[],intn,/**/intq/**/)
{mid=/**/(left+right)/2/**/;
第4题:
在Visual FoxPro中,使用LOCATE ALL<expL>命令按条件查找记录,可以通过下面哪一个函数来判断命令查找到满足条件的记录( )。
A)通过FOUND函数返回.F.值
B)通过BOF函数返回.T.值
C)通过EOF函数返回.T.值
D)通过EOF函数返回.F.值
第5题:
● 关于线性表的顺序查找、折半查找、分块查找方法的叙述中,错误的是 (47) 。
(47)
A. 顺序查找的算法非常简单但效率较低
B. 折半查找法的平均查找长度小,查找速度快
C. 分块查找的平均长度介于顺序查找和折半查找之间
D. 分块查找只能用于顺序存贮结构,且要求表中记录是有序的
第6题:
VLOOKUP函数采用()模式时,如果未查找到完全匹配的记录,将返回出错信息
第7题:
数据结构中,在顺序表的查找中,若记录是有序的,可以使用()方式查找效率更高
第8题:
数据结构与算法里,查找成功意味着查找表中存在要查找的记录。
第9题:
折半查找又称为(),使用该查找算法的前提条件是,查找表中记录相应的关键字值必须按()。
第10题:
第11题:
第12题:
第13题:
在Visual FoxPro中,LOCATEALL命令按条件对某个表中的记录进行查找,若查不到满足条件记录,函数EOF()的返回值应是【 】。
第14题:
● 已知一个线性表(16, 25, 35, 43, 51, 62, 87, 93),采用散列函数H(Key)=Key mod 7将元素散列到表长为9的散列表中。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则构造的哈希表为 (57) ,在该散列表上进行等概率成功查找的平均查找长度为 (58) (为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度)。
第15题:
阅读以下函数说明和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);
}
第16题:
在 Visual FoxPro 中 , LOCATE ALL 命令按条件对某个表中的记录进行查找 , 若查不到满足条件的记录 ,函数 EOF() 的返回值应是 【 11 】 。
第17题:
第18题:
在查找算法里,折半查找需要的前提是记录顺序存储并且有序。
第19题:
对22个记录的有序表作折半查找,当查找失败时,至少需要比较()次关键字。
第20题:
长度为12的有序表采用顺序存储结构,采用折半查找技术,在等概率情况下,查找成功时的平均查找长度是(),查找失败时的平均查找长度是()。
第21题:
折半查找20个记录的有序表,若查找失败,比较关键字的次数()
第22题:
对
错
第23题:
顺序查找
折半查找
分块查找
随机查找