题意:散列标记,损坏和抵触的实际。用C++资源实现和编程。
你有大小为m=11的哈希表和两个散列函数H1和h2:h1(x)=(x的第一个和最初一个字母的值之和)mod m h2(x)=((最初一个字母的值)mod(m−1))+1,其中字母的值是它在字母表中的地位(例如,值(a)=1,值(b)=2,等等)。这里有一些事后计算的哈希值:word:ape bat bird carp dog hare ibex mud koala stork h1:6 0 6 8 0 2 0 6 1 8 h2:6 1 5 7 8 6 5 5 2 2 A。画出后果哈希表的图片后,按程序插入以下单词:ibex,hare,ape,bat,koala,mud,dog,carp,stork。B、突出显示在试图寻找鸟类时要查看的单元格。为以下每种技巧做A和B局部:1。用h1作为散列函数独自链接。2用h1作为散列函数的线性探测。三。应用h1作为第一个散列函数,h2作为第二个散列函数的双重散列。练习2–散列最坏的状况:大小为M的哈希表存储N个整数键。碰撞是通过链式解决的,散列函数是h(K)=kmodm.1。最坏的搜寻工夫是什么时候?给出一个例子,阐明一组密钥达到最坏状况下的搜寻工夫。2您是否会将此哈希表用于工夫紧迫的应用程序(例如,地面交通管制)?练习3–带负载因子的线性探测:演示将键5、28、19、15、20、33插入哈希表,并通过线性探测解决抵触。假如哈希表有m个时隙(m=7),其加载因子为0.70,哈希函数为h(k)=k mod m。
更多探讨能够+V:abby12468