1、设随机Hash表的长度为n=8。设Hash码为i=mod(k*0.618,n)。将关键字元素序列(19,31,20,45,01,11,25,26)填入随机Hash表,并注明冲突次数。
①计算关键字k的Hash码i0=i(k)。且令i=i0。
②伪随机数序列初始化,令j=1(即将取随机数指针指向伪随机数序列中的第1个随机数)。
③检查表中第i项的内容:若第i项为空,则将关键字k及有关信息填入该项;若第i项不空,则令i=mod(i0+ RN(j),n),并令j=j+1(即将取随机数指针指向下一个随机数),转③继续检查。其中RN(j)表示伪随机数序列RN中的第j个随机数。
如图为取随机数的方法。
则过程为:
用取随机数的方法取得随机数。
可以用c++自动计算:
代码如下:
#include<iostream>using namespace std
main()
{int n = 8,R = 1
int RN[8],j
for(j=1j<=nj++)
{
R=(5*R)%(4*n)
RN[j]=int(R/4)
cout<<RN[j]<<endl
}
}
结果为:1,6,7,4,5,2,3,0
看不清的点击下载excel
2.设线性Hash表的长度n=12,分别用下列Hash码将关键字元素序列(09,12,04,16,19,31,20,45,01,11,25,26)填入线性Hash表,并指出各关键字元素在填入过程中的冲突次数。
(1)i=mod(k,n)
(2)i=mod(k*0.618,n)
答:(1)i=mod(k,n)
(2)i=mod(k*0.618,n)
bin文件是2进制文件,属于镜像文件,可以用虚拟光驱工具打开,hash是指散列的文件,FTP的下载并不是将文件的从前都后依次复制,而是为提高下载速率而分成很多小段同时复制,所以下载回来的文件是分成N段的,要重新整合成完整的文件,在下载工具整合文件的时候会显示hash,即指在整合散列数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)