首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2017-11-14
33
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为i,则其余m—1(m为表长)个位置均可能是同义词。查找同义词的操作直到碰到空地址或循环一圈回到i才能结束。为了提高算法效率,减少数据移动,应将最后一个同义词前移填充被删除关键字。 void HsDelete(rectype HS[],K){ //在以除余法为散列函数线性探测解决冲突的散列表HS中,删除关键字K jnt j=K%P: //以造表所用的除余法计算关键字K的散列地址 if(Hs[i]==null){printf(”散列表中无被删关键字”);exit(0); } //此处null代表散列表初始化时的空值 switch(HS[i]==k){ case true:del(HS,i,j,K);break; case false:di=1;j=(i+di)%m; /./m为表长 while(HS[j]!=null&&:HS[j]!=K&&j!=i){ //查找关键字K di=di+1: j=(i+di)%m; } if(Hs[j]==K)del(HS,i,j,K); else{printf(”散列表中无被删关键字”);exit(0);} }//switch } void del(rectype HS[],in i,int j,rectype K){ //在散列表HS中,删除关键字K,K的散列地址是i,因解决冲突而将其物理地 //置于表中位置j。算法查找关键字K的同义词,将其最后一个同义词移到位置j, //并将其同义词的位置置空 di=1;last=j;x=(j+di)%m; //探测地址序列,last记K的最后一个同义词的位置 while(x!=i){ //可能要探测一圈 if(HS[x]==null)break: //探测到空位置,结束探测 else if(Hs[x]%P==i)last=x; //关键字K的同义词 di=di+1;x=(j+di)%m; //取下一地址探测 } HS[j]=HS[last];HS[last]=null; //将哈希地址last的关键字移到哈希地址j } 算法讨论:由于用线性探测解决;中突,可能发生“二次聚集”(两个第一哈希地址不同的记录争夺同一后继哈希地址)。像上面这样处理后,对于哈希地址为i的记录没有问题了,但由于将地址j置空,有可能截断了其他记录的探测通路。最明显的是哈希地址为j的记录就查不到了。解决的办法是继续调整,直到当前哈希表中的每个记录的查找都是正确的为止。这里不再深入讨论。
解析
转载请注明原文地址:https://kaotiyun.com/show/stRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
《齐民要求.序》中写道:“今采摭经传,爰及歌谣,洵之老成,验之行事,起自农耕,终于醯醢(酱醋),资生之靡不毕书书;号日《齐民要术》……舍本逐末,贤哲所非……故商贾之事,阙而不录。”这段材料表明作者()。①采取古今资料的编撰原则②
文艺复兴运动兴起的时间是()。
陈云作《目前财政经济的情况和克服困难的若干办法》的重要讲话,分析当前财政经济方面的主要困难,提出克服困难的六点意见的会议是()。
“我不想变成上帝,或居住在永恒之中,或者把天地抱在怀里,属于人的那种光荣对我就够了。我自己是凡人,我只要求凡人的幸福。”这句话体现的思想是()
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
根据越南战争的起源和发展,分析“冷战”时期美国对第三世界政策的目标和动机。
分析论述斯大林社会主义工业化。
19世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
16世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
1922年2月,美、英、法、意、日五国通过了《五国海军条约》,规定了各国海军主力舰和航空母舰的限额,以及在东亚设置海军基地的要求等内容。该条约的缔结表明()
随机试题
具有“全或无”特征的电压动是
患者,男,27岁。发热、咳嗽月余,伴身体乏力、消瘦,近1周来咯血,体温波动在37.5℃~38℃,X线胸片示右肺上叶后段炎性阴影,其中可见透亮区,血沉增快,结核菌素试验阳性。应首先考虑的诊断是
关于通用名的说法正确的是
聪明的人不会娶有才无德的女子为妻。
根据所给资料,回答下列问题。 1979年全国普通高校毕业生人数为8.5万人,1980年为14.7万人,2001年为114万人,2002年为145万人,2010年较上一年同比增长3.4%,2018年首次突破了800万人,2019年预计达到834万人,毕业生
道德规范是人们为了社会稳定和发展所必须遵守的()。
写作要有题目,就是要有中心思想,要有内容。目的性要明确,例如这篇文章是记载一件事情,或提出一个问题,解决一个问题,或发表自己的主张、见解等等。总之,要有所为而作。无所“为”的文章,尽管文理通顺,语气连贯,但是内容空洞,只能归入废话一栏,以不写为好。这段话主
某市甲、乙两厂均生产一种“记忆增强器”产品。甲厂产品的质量比乙厂产品好得多,因而其市场占有率远远高于乙厂。王某是甲厂技术人员。乙厂为提高本厂的市场占有率,购进一批甲厂生产的“记忆增强器”进行研究,但效果并不好。后乙厂付给王某一大笔“技术咨询费”,获取其提供
生态也是资本,_________是“不可复制”的资本,创新生态资本_______方式,对于建设“环境友好型”社会具有现实意义。填入画横线上最恰当的词语是()。
Whatarethethreetypesofpanicattackcalled?Whenmayspontaneouspanichappen?
最新回复
(
0
)