在顺序查找算法中使用监视哨可以免去查找过程中每一步都要检测整个表是否查找完毕,下面循环语句正确的是()
A. for(i= ST.length; i>=1; - -i);
B.for(i= ST.length; ST.elem[i].key!=key; --i);
C.for(i= ST.length-1; i>=0; - -i);
D. for(i= ST.length; ST.elem[i].key==key; --i);
A. for(i= ST.length; i>=1; - -i);
B.for(i= ST.length; ST.elem[i].key!=key; --i);
C.for(i= ST.length-1; i>=0; - -i);
D. for(i= ST.length; ST.elem[i].key==key; --i);
第2题
查找
实验目的:
(1)掌握顺序查找、二分查找的递归及非递归算法。
(2)掌握散列表上的各种操作。
(3)熟练掌握在二叉排序树上各种操作的实现方法。
(4)掌握和理解本实验中出现的一些基本的C语言语句。
(5)体会算法在程序设计中的重要性。
实验内容:
(1)给出顺序表上顺序查找元素的算法。
(2)给出非递归的二分查找算法。
(3)编写拉链法处理冲突的查找程序。
第3题
intsearch(NODEa[],intn,intk)
/*在a[0],a[1...a[n-1]中查找关键字等于k的记录,查找成功返回记录的下标,失败
时返回-1*/
{inti=0;
while(i
_①_
if(②)
returni;
elsereturn-1;
①A.k++;
B.i计十;
C.n++;
D.a++;
②A.a[i].key==n
B.a[i].key==k
C.a[n].key==k
D.a[n].key==i
第7题
若线性表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定的结点,则将该结点和其前驱(若存在)结点交换,使得经常被查找的结点尽量位于表的前端。试对线性表的顺序存储结构写出实现上述策略的顺序查找算法。
第8题
A.A.再次使用LOCATE FOR<expL>
B.B.SKIP
C.C.CONTINUE
D.D.GO
第9题
A.穷举算法
B.递归算法
C.二分查找法
D.顺序查找法