首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2019-08-01
59
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为i,则其余m—1(m为表长)个位置均可能是同义词。查找同义词的操作直到碰到空地址或循环一圈回到i才能结束。为了提高算法效率,减少数据移动,应将最后一个同义词前移填充被删除关键字。 void HsDelete(rectype HS[],K){ //在以除余法为散列函数线性探测解决冲突的散列表HS中,删除关键字K int i=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]=nuu; //将哈希地址last的关键字移到哈希地址j } 算法讨论:由于用线性探测解决冲突,可能发生“二次聚集”(两个第一哈希地址不同的记录争夺同一后继哈希地址)。像上面这样处理后,对于哈希地址为i的记录没有问题了,但由于将地址j置空,有可能截断了其他记录的探测通路。最明显的是哈希地址为j的记录就查不到了。解决的办法是继续调整,直到当前哈希表中的每个记录的查找都是正确的为止。这里不再深入讨论。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/zkCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列各组古代民族,其语言都属于印欧语系的是()。
()是宋代为支付军政费用而筹措的一宗款项。同时又是各地为筹措这项经费而加征的苛捐杂税的总名称
罗马法的集大成《查士丁尼民法大全》产生的时间是在()。
清初,著名学者()在抗清活动失败后东渡日本,讲学授徒,培养了大批学者,传播了中国文化。
魏晋南北朝时期,社会经济特点与前一历史阶段的明显不同之处是()。
1962,中共中央调整计划目标,工业生产值原定950亿元调为880亿元,钢产量755万吨调为600万吨,并按“经济合理,保留骨干的原则,对企业关停并转。这举措目标
世界天文史上最早实地测量子午线的记录是由谁进行的?()
中华民国军政府是由下列哪个军阀成立的?()
下面哪部经典是我国最早的官方史书?()
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间
随机试题
“自然后果”是一种常被运用于育儿的概念,意指行为本身会导致一个自然的后果,此结果是孩子事先未知的,但孩子可以从此自然后果的经验中,学会预期结果,控制他们之后的行为。譬如小朋友玩火烫到了之后就不会乱玩火。根据上述定义,以下不属于自然后果的是:
溃疡性结肠炎患者最常见的护理诊断是
A.疖B.疔C.痈D.发E.丹毒西医学上的蜂窝织炎是()
甲公司代理人谢某代投保人何某签字,签订了保险合同,何某也依约交纳了保险费。在保险期间内发生保险事故,何某要求甲公司承担保险责任。下列哪一表述是正确的?(2014年卷三第34题)
宪法与一般法律的关系表现有:()
合同双方当事人依照法律规定行使不安抗辩权的直接法律后果是( )。
影响防火间距的主要因素包括()
—Dad,haveyouseenmyChristmascard?—______youpaintedlastnight?I’mafraidIhaven’tseen______.
给定资料1.2014年7月16日,以“破题银色中国”为主题的“2014中国应对老龄化社会发展论坛暨‘儿女孝亲工程’研讨会”在北京钓鱼台国宾馆举行。国家发改委社会发展司副司长郝福庆提出。在老龄化发展形势日益严峻的今天,中国亟须多样化的思路破解“银色
下面不属于软件设计原则的是
最新回复
(
0
)