首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2019-08-15
40
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为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=l;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://jikaoti.com/ti/ToGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
在华盛顿会议上,美英支持中国要求的意图是()
乾隆时期,明确规定了驻藏大臣的地位与达赖班禅同等,并实行“金瓶掣签”制度的文件是()。
除《凡尔赛和约》外,规定禁止德奥合并的是()。
保加利亚共产党于1990年4月改名为保社会党,它在政府中沦为少数派的时间是()。
下列关于社会大分工不正确的说法是()。
什么是域名解析?域名解析中采取了什么措施提高效率?对同一个域名向DNS服务器发出多次的DNS请求报文后,得到IP地址都不一样,可能吗?为什么?
以数组Data[m+1]作为循环队列SQ的存储空间,front为头指针,rear为队尾指针,则执行出队操作的语句是()。
在一个双链表中,在*p结点之前插入*q结点的操作是()。
设结点x和y是二叉树中任意的两个结点,在该二叉树的先序遍历序列中x在y之前,而在其后序遍历序列中x在y之后,则x和y的关系是()。
随机试题
【背景资料】某办公楼由12层主楼和3层辅楼组成。施工单位(乙方)与建设单位(甲方)签订了承建该办公楼施工合同,合同工期为41周,一周按7天计。合同约定,工期每提前(或拖后)1天奖励(或罚款)2500元。乙方提交了粗略的施工网络进度计划,并得到甲方
黄芩丹参
根据《城市道路管理条例》的规定,本条例所称城市道路,是指城市供车辆、行人通行的,具备一定()的道路、桥梁其附属设施。
设备运到安装现场后,要进行开箱检查,( )应派代表参加。
用人单位应对首次取得特种作业证书的人员上岗前安排不少于()个月的实习操作。
下列关于债券的说法正确的有()。Ⅰ.发行债券是公司追加资金的需要,它属于公司的资本金Ⅱ.股票风险较大,债券风险相对较小Ⅲ.债券通常有规定的票面利率,可获得固定的利息Ⅳ.债券在市场上的转让价格随市场利率上下波动
在贷款决策中,除了使用财务报表本身的资料外,还需要使用财务指标综合反映借款人的财务状况,这些指标分别是()
最高风险管理委员会以及业务单位风险管理委员会委员,必须由商业银行内部具有丰富管理经验的人士担任,不能由外部专家/顾问担任。()
根据马克思主义政治经济学,资本主义利息的来源归根结底是()。
A、It’smypleasure.B、Thankyou.C、No,youdon’tneedtothankme.D、It’snotnecessary.A日常生活中,当别人对你表示谢意时,一般的回答为“Youalewel
最新回复
(
0
)