编写对有序表进行顺序查找的算法,并画出对有序表进行顺序查找的判定树。假设每次查找时的给定值为随机值,且查找成功和不成功的概率也相等,试求进行每一次查找时和给定值进行比较的关键字个数的期望值。

admin2019-08-01  34

问题 编写对有序表进行顺序查找的算法,并画出对有序表进行顺序查找的判定树。假设每次查找时的给定值为随机值,且查找成功和不成功的概率也相等,试求进行每一次查找时和给定值进行比较的关键字个数的期望值。

选项

答案int Search(rectype R[],int n,K){ //在具有n个元素的有序表R中,顺序查找值为K的结点,查找成功返回其位置, //否则返回一1表示失败 int i=0: while(i<n){ if(R[i]==K)return(i); else if(R[i]>K)return(一1); i++: }//while return一1; } 在等概率的情况下,则查找成功的平均查找长度为(n+1)/2,查找失败的平均查找长度为(n+2)/2(失败位置除小于第一个,还存在大于最后一个)。若查找成功和不成功的概率也相等,则查找成功时和关键字比较的个数的期望值约为(n+1)/4。

解析
转载请注明原文地址:https://kaotiyun.com/show/XjCi777K
0

最新回复(0)