永发信息网

题目:散列表的建立(一定要用c++哦)

答案:1  悬赏:70  手机版
解决时间 2021-04-11 05:34

题目:散列表的建立

1.实验目的

(1)掌握散列查找的基本思想;

(2)掌握闭散列表的构造方法;

(3)掌握线性探测处理冲突的方法;

(4)掌握散列技术的查找性能。

2.实验内容

(1)对于给定的一组整数和散列函数,采用线性探测法处理冲突构造散列表;

(2)设计查找算法,验证查找性能。

3.实现提示

假设散列表长为m,散列函数为除留余数法,即H(key)=key%p,m和p在主函数中由用户从键盘输入,待散列的数据也由用户从键盘输入,算法如下:

闭散列表构造算法

int CreatHash(int ht[ ], int m)

{

for (i=0; i<m; i++) //散列表初始化

ht[ i ]=0;

cin>>k;

while (k! =’#’) // #作为结束标志

{

j =k % p;

if (ht[ j ] = = 0) ht[ j ] =k; //没有发生冲突,直接存入

else{

i = (j+1) % m;

while (ht[ i ]!=0 && i!=j)

{

if (ht[ i ] = = 0){

ht[ i ] =k; //发生冲突,向后探测若干次后存入

break;

}

else i= (i+1) % m; //向后探测一个位置

}

if (i = = j)throw“溢出”;

}

cin>>k;

}

}

假设在已建立的散列表中进行静态查找,在查找过程中设置计数器count统计元素的比较次数,查找算法如下:

闭散列表的查找算法 HashSearch

int HashSearch ( int ht[ ], int m, int k)

{

j =k %p; count =0; i =j;

while (ht[ i ]!=0)

{

if ( ++count && ht[ i ] = = k) { //发生冲突,比较若干次查找成功

cout<<“查找成功,比较次数为:”<<count<<endl;

return i;

}

i= (i+1) % m; //向后探测一个位置

if (i = = j)break;

}

cout<<“查找不成功,比较次数为:”<<count<<endl;

}

最佳答案
你好 楼主。

很幸运的看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
希望我的回答也能够帮到你!
祝你好运。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
邓稼先的功绩与品行
金诚网锐科技地址在哪,我要去那里办事
带玉的诗句,含有玉字的诗经诗句有哪些?
我在做网页的时候为什么按回车,换行的时候,
直接写得数.60×30=1.7+0.04=25×4=8×9×12
暑假延吉帽儿山700字作文
属羊的跟属兔的爱情会有结果吗?
试从历史的角度分析中药传统理论的长处和短处
在起点怎么才能成为签约作者?
对待欺软怕硬的恶邻居怎么办?
怎样的问题可以有人来回答啊?
金士顿16G的U盘,现在要多少钱?
欣欧美亚展览展示公司在什么地方啊,我要过去
魔域100以上的来看!
我朋友不想玩了。能不能把他的号10区转到我3
推荐资讯
脸上有毛怎么去掉
如图所示,若∠1与∠2互补,∠2与∠4互补,则
DNF三十级开G刷五次死亡塔可升几级!??
学英语的最好的方法和记单词的方法
IIS中设置HTTPS 已经有SSL证书了。
龙吟 手机铃声下载?
飞机上能带台式电脑吗,坐飞机可不可以带台式
成绩不好读书还有用吗
人体会自然产生对结核杆菌有抗体吗?
山水的变化
久源圣婴母婴生活馆怎么去啊,有知道地址的么
辰茂伊力特酒店在什么地方啊,我要过去处理事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?