将监测哨设在高下标端,改写顺序查找算法。并分别求出等概率情况下查找成功和查找失败的平均查找长度。
第2题
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
第8题
A.先进先出分配算法
B.最佳适应分配算法
C.首次适应分配算法
D.最坏适应分配算法
第9题
比如,在仅能使用直尺的情况下,可通过反复实验,用鸡蛋刚能摔碎的下落高度(比如精确到毫米)来度量蛋壳的硬度。尽管可以假定在破裂之前蛋壳的硬度保持不变,但毕竟破裂是不可逆的。故若仅有一枚鸡蛋,则我们不得不从0开始,以1毫米为单位逐步增加下落的高度,若蛋壳的硬度不超过n毫米,则需要进行o(n)次实验。就效率而言,这等价于退化到无序向量的顺序查找。
a)若你拥有两枚鸡蛋(假定它们硬度完全相同),所需实验可减少到多少次?试给出对应的算法;
b)进一步地,如果你拥有三枚鸡蛋呢?
c)一般地,如果共有d枚鸡蛋可用呢?
第10题
A.枚举
B.排序
C.二分查找
D.顺序查找