问答题
设给定关键字输入序列为(100,90,120,60,78,35,42,31,15)用散列法散列0~10的地址区间。要求设计一合理的散列函数;冲突时用链表法解决,写出散列算法,并构造出散列表,在等概率查找情况下查找成功的平均查找长度是多少?【东北大学1996四(12分)】
【正确答案】正确答案:用链地址法解决冲突,构造散列表,散列函数用H(key)=key%11。核心语句如下: for(i=0;ikey=x; if(rail==null)HT[j]=p; //第一个数据结点 else {while(rail一>next!=null)rail=rail一>next; //查找同义词链表尾 rail一>next=p;//将插入结点链入同义词表 } } 查找成功时的平均查找长度ASL=12/9。
【答案解析】