首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2019-08-01
36
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为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://kaotiyun.com/show/zkCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列选项中,控制了西域政权的是()。
戊戌政变发生的时间是()。
全国高校院系调整的时间是()。
下列法律文件中,规定内阁对君主负责的是()。
中国共产党在下列哪次会议上规定了党的最高纲领和最低纲领?()
中国共产党在大革命失败后,根据中国革命的新特点,明确了“工农武装割据”的思想,其核心内容不包括()。
1946年3月5日,英国前首相丘吉尔在富尔敦发表了(),发出第一个明白无误的“冷战”信号。
真值0在原码、反码和补码机器数形式下()。
某汽车轮渡口,过江渡船每次能载10辆车过江。过江车辆分为客车类和汽车类,上渡船有如下规定:同类车先到先上船,客车先于货车上船,且每上4辆客车,才允许上一辆货车,若等待客不足4辆,则以货车代替,若无货车等待允许客车都上船。写一算法模拟渡口管理。
随机试题
什么是教育评估的方向性原则?在评估活动中如何贯彻这一原则?
某患者,男性,50岁,“胃痛”史15年,近来消瘦、乏力,持续性呕吐宿食,胃痛规律改变,伴腰背痛。对诊断最有价值的检查方法是()
用转账支票归还欠X公司货款50000元,会计人员编制的记账凭证为:借记应收账款50000元,贷记银行存款50000元,审核并已登记入账,该记账凭证()。
对于执行人力资源稳定战略的组织,重要的是( )。
甲服装厂为增值税一般纳税人,2015年9月销售给乙企业300套服装,不合税价格为700元/套。由于乙企业购买数量较多,甲服装厂给予乙企业7折的优惠,并按原价开具了增值税专用发票,折扣额在同一张发票的“备注”栏注明。甲服装厂当月的销项税额为()元。
根据以下资料回答问题。2013年1—5月,全国规模以上快递服务企业业务量累计完成31.2亿件,同比增长61%;业务收入累计完成514.1亿元,同比增长34.3%。其中,同城业务收入累计完成57.7亿元,同比增长58.6%;异地业务收入累计完成29
结合材料,回答问题:材料1社会主义协商民主,是中国社会主义民主政治的特有形式和独特优势,是中国共产党的群众路线在政治领域的重要体现。我们要全面认识社会主义协商民主是中国社会主义民主政治的特有形式和独特优势这一重大判断。“名非天造,必从其
软件测试是由一系列的测试所组成,而其最基本的测试是______。
MS-DOS是一种
A、Tohelpchildrentogutacademicachievements.B、Toofferchildrenwhattheyneedtogetapromotion.C、Toequipchildrenwith
最新回复
(
0
)