首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
admin
2016-03-29
47
问题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
选项
答案
首先计算关键字的散列地址,若该地址为空,则空操作;若该地址有关键字,但与给定值不等,则用解决冲突的方法去查找给定值;若该地址有关键字且与给定值相等,则执行删除。题目要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不断裂。由于用线性探测解决冲突,设被删除元素的散列地址为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://www.kaotiyun.com/show/bhRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
论述尼德兰革命的背景、主要过程及影响
简述苏联建立“东方战线”的过程及其影响。
1905年至1907年间,围绕中国究竟是采用革命手段还是改良方式这个问题,革命派与改良派进行论战的舆论阵地是()。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
法国里昂工人起义提出:“我们只有一个口号‘人人自由平等!’”英国宪章运动请愿书提出:“我们竭尽自由人的义务,就应享受自由人的权利。我们要求普遍选举。”这些要求表明()。①带有空想社会主义色彩②当时工人的要求还没有超出资产阶级民主主义的范畴
简述按照恩格斯的划分方法人类的起源与进化。
西汉初年,反驳刘邦“马上治天下”的说法,并向汉帝国治国献策的是()。
下列长征事件的正确顺序是()。①四渡赤水②召开遵义会议③吴起镇会师④飞夺泸定桥
下列几种排序方法中,要求内存量最大的是()。
操作系统可以为用户提供多种功能,而操作系统必须提供但是又不作为资源管理的是()。
随机试题
简述国际服务目标市场国选择的影响因素。
Now,onlinelearninghasbecomeacceptableandcommonplace.Itisseenbystudentsandemployeesasamoreflexibleandconvenie
血脂异常常常是通过以下哪些检查发现的
单代号网络图的基本符号中“箭线”表示( )。
案例七:娄先生持有的证券组合由证券A和证券B组成,具体信息如表2-9所示。假定因素的标准差是20%。根据案例七,回答下列题目: 娄先生的证券组合的因素风险为( )。
基金管理人内部控制机制的层次包括()。Ⅰ.员工间的互相举报Ⅱ.各部门主管的检查监督Ⅲ.公司管理层对人员和业务的监督控制Ⅳ.董事会或者其领导下的专门委员会的检查、监督、控制和指导
财富的增加与道德的堕落并不必然成正比。但如果财富的增加不能与公正地分配财富并行,如果社会的普遍的道德水平非但不能相应地得到提高,反而持续不断地下降,那就谈不上有实质意义的自由与平等,社会就不可能成为一个更加美好的社会。这段文字的主旨在于()。
据报载,有一位农民,听说某地培育出一种新的玉米,收成很好,于是他千方百计买来一些。他的邻居们听说后,纷纷找到他,向他询问种子的有关情况和出售种子的地方。这位农民害怕大家都用这样的种子而使自己失去竞争优势,便拒绝回答。邻居们没办法,只好继续种原来的种子。谁知
Youwillhearapartofaradioprogrammeonbusinesstopics.ThepresenteristalkingaboutacompanycalledFast-Save.As
【B1】【B4】
最新回复
(
0
)