冲突处理方法解决冲突的方法有什么.docx
- 文档编号:7406070
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:12
- 大小:18.85KB
冲突处理方法解决冲突的方法有什么.docx
《冲突处理方法解决冲突的方法有什么.docx》由会员分享,可在线阅读,更多相关《冲突处理方法解决冲突的方法有什么.docx(12页珍藏版)》请在冰豆网上搜索。
冲突处理方法解决冲突的方法有什么
【冲突处理方法】解决冲突的方法有什么
9.3突冲理处方
法
?
理处突冲方的
法常处理用突冲的路思?
:
个换置:
位开放址法地?
一同位的置突对冲组象在一织起:
地址法链
?
开
放址法定(pOenAdresdsig)n一
产旦了冲生突该地址(已有其它元)素就,某种按则规寻去找另一地空
址
?
开放定址(Op法neAddesrsnig
)?
若发生第了i冲突,试探次的一个地址将下增加id基,公式本是:
h(keiy)=(hk(ye)di+)omTdblaeSiez(≤1i
1
线.探测法性(LineraPorbing)?
性探测线:
法增量以列序,12,…,…(aTlbeizeS1)-循试环探一下存储个址地。
[例]设键关序词为列{747,29,11,9,8,45,4,0,203},?
列散表表长aTbeSliez=31(装因子α填=9/1≈3.069)?
;散列函数为:
(heky)=eykmod11。
用线探性测处法冲理,突出依次插列入的散后列,表并估算找性能
查键词关(ek)y散地址列h(eyk)473772971109954710092308
关键词key)散(列址地hke(y)突次数冲
址地操插入47作插入7入2插插入191入9插插8入4插入45插20入入插03
4
70
377
0
9721
1
100
990
8743
5
141
0029
33068
0
1
2
3474747474744774747
4
5
6
7
77777777
8
9
1
0
1
1
2
1说
111明11111111
310
9292292929292
99999
98484
8844
无
突冲冲突无d1=1无冲突无冲突d33=451d=1524d30=352406d=
注意6聚集””象
现散列查找表能分析性
成?
功均查找长度平(ASL)s?
不平查均找度长A(LuS)散列表
:
(kHyekey)冲突数次01101036324705467708921990108431154112023
分【析】SAsL查:
找中关表词的平键均找比较次查数其冲突次数(1加)SAL=s1(7+1+1+++124++24)+/9=32/≈92.65ASLu:
不散列表在的中键词的平关查均找数(不成次功一般)法:
将方在不散表中的列关键分词若类。
干:
根据H如(ek)值分y类ASuL(3+=2+1++21++11+98+++7)6/11=411/1≈.337
[例]将caso、edinf、feoal、etpxc、hra、taa、cenli、foolr,顺
次入一张存小为大6的散2列表。
中(Heky=k)ye0[-’]’,a采用性线测di=探i
a.csoaanthcadefinerxpefloaceiltlfoor.…
.0
1
2
43
5
67
8
2
5分【】析ASL:
s表中关键的平均查找词较次数比ASLs=1+(+1+111+2++53+/)8=158/≈1.87ALS:
u不在散列表的关中键的平词均找查次数(不功)成据根H(ke)y分为26种值况情H:
为值0,12,…,25,ASLu=(98+++7+5+4+63+21*+81/)26=6226/2.≈83
.2平方探测法(QuadaritcPobirng---)二次测探?
方平测探:
以法增序量12,列-1,22,2-22,……q2,-q2,且q≤T?
abeSilze2/循环试探?
一个存下储地址
[例]。
关键设序词为{4列
7,,29,7119,,4,548,2,30}0,?
散列表表长aTlbeiSez=11?
散列,函数:
h为ke()y=keyomd11。
用平探测法方处冲突,理列依次出插入后散的表,列估算并ALs。
关S词键eyk散列地址h(eky)43777291710994875401209038
键词关eyk列散址h地(eky冲)次数突
7430
77
0
2
971
1100
990
8
47
2
54010
0293
30
83
A
LSs=1+1(++2+113+++144)+/9=18/92
地址操=01作234657891说0明
入插7插47入插入29插入11插入插9入48入5插插4入20入插03
11
1111111111
0
32200
47
4744747774474747
8
4844884
7
777777
72
992292299299
2
9999
594554
4
无突冲无冲突d11=冲突无无冲突d2=1-无突冲3d=4d3=4
2.
方探平测(法QuardatcProiibn)g
是有否,方平测(探次探二)就测能得找?
到5
6017234
h(
k=)kmo5
插入d1,1(h11)1=测探序:
列+1=1,2-1=01,1(2+2mo)d=5,0(1-22mod)52,(=+12)3od5m=0(1-3,2m)d5o=2,(14+2m)od5=,2…
定有显理示如:
散果表列度T长baelizeS某个是4k3+(是k正整数形)式的数时,平方探素法就可测以查探到整散个表空间列。
ytpeedftrscutHashablTeInitilizaTaelbe(intTblaSeie)HaszhbT*HalhsTabel;{strctuashTbHl{HshaTblae;HintTableSzi;eitn;CilelheTellsCif;(abTelizST-albeSie=NzxePtimr(eTbleaiSze);4/*1分配散表列Cells/
H*>-heCTlls=e(elC*lma)loclsi(eozf(Cell)*-HT>aleSbze);i56789101
f(iH>-heTCelsl==NULL)FtalEraor(r"空间出!
溢!
");!
orf(i=;0iH->The-eCll[si].nIof=Empt;yrterunH;}
1
1
11
1ositPoinFindEle(enmTtyepeyK,asHhabTel)H/平方探**/测{PoistionCrreuntosP,NewPsoin;tmu/;*记录突次冲数*/NCu=0mN;wPose=uCrentrPo=sHsh(Kae,yH-T>baelSzei;)hwleiH(->TehellCsNewPo[s]Inf.o!
=Empt&y&->HhTCeelsl[NePwos.E]lment!
=eKey){/*字符类型的关串键需词要strcpm函数!
!
*/fi(+C+umN%)2{/*判断冲突的奇偶次/*NePwosC=ruenrtoPs+(CNum+)12/(*um1+)/;2hwile(eNwPos>=-HTa>beliSe)NewPoz-=sH->TalbSizee}else;{NePwos=urrCntPeso-CNu/2m*Cum/2N;wihleNew(PoT-blaSiee;z}}di+1-22+12222+3-2-3….2ertrnuNewPo;snuCm123456
}ovdInsiret(lEeentmTyeKpye,HshaabTelH){*/插入操*作/oPsiitonPso;Po=sFid(Kny,eH);if(->HhTeCels[lPso].Info=!
egitLiamet)/{*确在认此入插*/-H>hTCelel[sPo]s.InofLeg=tiimtea;->HTeChlls[ePos].lemeEtn=eyK;/*符串字类的型键关词需要srtcpy函数!
!
*/}}
在
开地址放列表中散,删除作操很小要心。
常通能只“惰懒删除”即,要增需一个加“删除记标De(ltee)d,而并不”是真
正删它。
除以便找时不查“断会链。
”空其可以间在次下插时重入。
用
3.散双探列测(法DuboelHsainh)g
双散列探测:
法di为ih2(*eyk),2(khy)是e另一个列函散数探序列测:
成h(2ey)k2,2(keh),y3h2key)(,……?
任对意的ek,hy2k(e)y≠0!
?
探序列测还该应证保有所的列存储散单元应都该够被探测到能选择。
下形以式良好的有效果:
h(k2ye)=p-ke(ymodp)其中
:
p
素4.
再散(列Reahhing)s
?
散列当表元太多(即装填因子素α太大),时找效率查会降;下实?
用大装填因子一般最取05.
?
分离链接
法(epSaatreCahniig)
分离n接法:
链相将位应上置冲突的所有键词关存在储一同单链个表
中例【】设键关字序列4为,77,29,11,61,92,22,8,35,03,78,9,94,21散;函数取为列h(:
eky)k=yemod1102;21^1用分离接法链处理突。
冲
stuctrHahsbl{TitTabnleiSe;zLstiheLTsist;H;H}11
13245678910^21^
^
98
3371649928
^4792^507^^^^^
表中有?
9个结只需1点次查,找?
个结5点需2要查次找,?
查成功找的平查找均数次:
ASLs(=9+*2)5/141≈36
.
st
rutLcsiNtdoet;pyeefdtsurtLiscNtdoeP*oitsin,oL*its;strutHashTcbl;tyepedstfructaHsThlb*HshaaTleb;sturctisLNtde{oElemntTeyepElmeentPosit;inoNxt;}eP;oistionFnid(lEmenteTypKeye,HasTahbleH){PsotiinoP;LitsL;L&(=H>T-heiLtss[Hash(eKy,->TabHlSezie]);P)=L->extNw;hil(eP!
=NULL&&srcmt(P-p>lEmeKey),)PP=>-Netx;reurtnP;}
内容仅供参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 冲突 处理 方法 解决 什么
![提示](https://static.bdocx.com/images/bang_tan.gif)