首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2019-08-01
49
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为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
学硕统考专业
相关试题推荐
试述中国古代经济重心南移的过程及原因。
试析巴以冲突的历史根源。
记载了用竿标日测影以求日高的方法,并认识了勾股定理的算书是()。
下列关于基督教的思想来源的叙述,不正确的是()。
在加强对边疆地区的治理方面,明清两朝推行的相同措施是()。
乾隆时期,明确规定了驻藏大臣的地位与达赖班禅同等,并实行“金瓶掣签”制度的文件是()。
下列哪部戏剧不是曹禺的作品()。
相对于单一内核结构,采用微内核结构设计实现操作系统具有诸多好处,但是,()并不是微内核的优势。
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。设某单面磁盘旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁
随机试题
凯氏定氮法测蛋白质含量的试验中,混合指示剂是由1g/L溴甲酚绿和1g/L甲基红按()的比例配比而成的。
马克思主义的辩证逻辑思维。
有特殊意义的,有含义的,重要的adj.s__________
月经周期正常的是
为了评价实施改换水源降低水氟工程后的效果,在全国饮水型地方性氟中毒流行严重的10省市,采用整群抽样调查的方法,共调查1758个改换水源的工程,约占全部改水工程的97%,选择1980年实施改换水源降氟工程后在当地出生并饮用该水8年及以上的8~12岁儿童,调
以下属于建筑材料物理性质的是()。
个体尽力发展能给自己带来利益的态度是态度的()功能。
以下是关于“初中生物概念图教学的实验研究”的研究步骤,不恰当的是()。
材料一当鸦片未盛行之时,吸食者不过害及其身,故杖徒已足蔽辜;迨流毒于天下,则为害甚巨,法当从严。若犹泄泄视之,是使数十年后,中原几无可以御敌之兵,且无可以充饷之银,兴思及此,能无股栗?——林则徐《钱票无甚关碍宜重禁吃烟以杜弊源片》
Choosethecorrectletter,A,BorC.WhydidthelecturerchoosetofocusonthePleasantonTownMarket?
最新回复
(
0
)