首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2016-03-29
60
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为i,则其余m一1(m为表长)个位置均可能是同义词。查找同义词的操作直到碰到空地址或循环一圈回到i才能结束。为了提高算法效率,减少数据移动,应将最后_个同义词前移填充被删除关键字。 void:Hs[)elete(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);breaki 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[1ast];HS[1ast]=null; //将哈希地址last的关键字移到哈希地址j } 算法讨论:由于用线性探测解决冲突,可能发生“二次聚集”(两个第一哈希地址不同的记录争夺同一后继哈希地址)。像上面这样处理后,对于哈希地址为i的记录没有问题了,但由于将地址,置空,有可能截断了其他记录的探测通路。最明显的是哈希地址为j的记录就查不到了。解决的办法是继续调整,直到当前哈希表中的每个记录的查找都是正确的为止。这里不再深入讨论。
解析
转载请注明原文地址:https://kaotiyun.com/show/bhRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
国民政府统治确立后,中国社会仍存在革命条件并成为唯一选择的主要原因是()。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
简述美国“柯立芝繁荣”的主要表现,分析其产生原因。
简述大化改新的内容并对其评价。
1934年9月苏联加入国联,对此说法错误的一项是()。
1988年起,苏联民族矛盾激化,民族分离运动加剧,第二次较大规模的民族冲突是()。
1948年,南斯拉夫对从苏联照搬来的“行政命令式的国家集权式”体制进行改革逐步形成有自己特色的建设社会主义的理论和方法,其核心是()。
下列各组古代民族,其语言都属于印欧语系的是()
唐顺宗时,以王叔文、王侄为首的朝臣与宦官之间发生的冲突,称为()。
对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分。在第1趟划分过程中,元素移动次数最多的是()。
随机试题
医师最先采取的步骤是下述哪项为临床最常见的诊断
为明确有无肋骨骨折,在病史或查体方面下列哪项最重要
甲、乙二人签订买卖合同,合同总标的为10万元,合同约定违约金为2万元,同时,甲向乙支付定金5000元。后乙违约,造成甲的经济损失2.1万元。现甲向人民法院起诉,问:甲最多可以向乙要求支付()。
期货从业人员在向投资者提供服务前,应当()。
关于结算账户的管理,以下说法正确的是()。
①正常的状况,诗人总是不直接向读者进行灌输②一般来说,优秀的诗篇总是避开直说③这是诗的一般规律,也是欣赏诗歌所必不可少的一种思想准备,或者叫做训练④由于不直说,因而增加了欣赏的困难⑤言在此而意在彼,不是说明着什么,而是隐喻着什么⑥他们只是含蓄地点
从中央经委、监察部获悉:2004年高校收费标准将继续保持稳定,不得设立新的项目,然而同一天的《齐鲁晚报》报道,山东教育厅宣布普通高校的热门专业学费上浮10%。此前《长沙晚报》报道,在湘各高校热门专业学费可由学校在省定统一收费标准基础上。上浮不超过30%的幅
在我国宪法中增加“中华人民共和国实行依法治国,建设社会主义法治国家”的时间是
陈云在中共八大上提出的“三个主体,三个补充”的重要思想是指()
Fiveyards______(be)whatIordered.
最新回复
(
0
)