【冲突处理方法】解决冲突的方法有什么_第1页
【冲突处理方法】解决冲突的方法有什么_第2页
【冲突处理方法】解决冲突的方法有什么_第3页
【冲突处理方法】解决冲突的方法有什么_第4页
【冲突处理方法】解决冲突的方法有什么_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【冲突处理方法】解决冲突的方法有什么 9. 3突冲理处方 法 ? 理处突冲方的 法常处理用突冲的路思 ? :个换置:位 开放址法地 ?一同位的置突对冲组象在一织起: 地址法链 ? 开 放址法定(pOe nAdresdsig)n一 产旦了冲生突该地址(已有其它元)素就,某 种按则规寻去找另 一地空 址 ?开放定址(Op法ne Addesrsnig ) ?若发生第了 i冲突,试探次的一个地址将下增加id基,公式本是: h(keiy )=(h k(ye)di+ )om TdblaeSiez ( 1i 1 线.探测法性(LineraP orbing)? 性探测线:法增量以列 序,12,(aTlbeizeS 1)-循 试环探一下存储个址地。 例设 键关序词为列 747,29,11,9,8,45,4,0,203, ? 列散表表长aTbeSlie z=31 (装因子 填 =9/1 3 .069) ?; 散列函数为:(heky ) =eykmo d11 。用 线探性测处法冲理,突出依次插列入的散后列,表并估算找性能 查键词关( ek) y散地址 列h(eyk)4 73 7729 7110 9 9 547 10 0 9230 8 关键词 key) 散(列址地 hke(y) 突次数冲 址地 操 插入47作插入 7入2插 插入191 入9插插 8入4插入 45 插20入 入插03 4 7 0 37 7 0 9 721 1 10 0 99 0 8 74 3 5 14 1 0029 33 0 68 0 1 2 34 747 474 7 4 74 477 4 747 4 5 6 7 7 7 7 77 77 7 8 9 1 0 1 1 2 1说 11 1明1 1111 1 11 310 92 9 22 92929 29 2 999 99 984 84 8 844 无 突冲 冲突无d1 = 1 无冲 突无冲突d3 3 =4 51d= 15 24 d30= 3 5 24 06 d = 注意6聚集”象 现散列查找表能分析性 成?功均查找长度平(ASL)s? 不平查均找度长 A(LuS)散列表 :(kHye key )冲突数次0 110 10 36 3 2470 54 6 7 70 8 921 9 9 01 084 3 1154 1 1 2023 分【析 】SAsL查:找中关表词的平键均找比较次查数其冲突次数(1加) SAL = s1(7+1+1+124+24)+/9 =32/ 92.65ASL u:不散列表在的中键词的平关查均找数(不成次功 一般)法:将方在不散表中的列关键分词若类。 干:根据H如(ek)值分y类 AS uL (3+=2+1+21+11+98+7)6 /11= 41 1/ 1 .337 例 将caso、edinf、feoal、etpxc、hra、taa、cenli、foolr,顺 次入一张存小为大6的散2列表。 中(Heky=k)ye0-,a采用性线测di=探i a.csoa an thca define rxpefl oa ceil tlfoor . .0 1 2 43 5 67 8 2 5分【】析A SL:s表中关键的平均查找词较次数比ASL s= 1+(+1+111+2+53+/) 8 =15 8/ 1.8 7ALS:u不在散列表的关中键的平词均找查次数(不功) 成据根H(ke)y分为26种值况情H:为值0,12,25,ASL u= (98+7+5+4+63+21*+81/ )2 6=62 26 / 2.83 .2平方 探测法(Quadarit cPobirng-) 二次测探? 方平测探:以法增序量12,列-1,22,2-22,q2,-q2 ,且 q T?abeSilze2/ 循环试探?一个存下储地址 例。 关键设序词为 4列 7,29,7119,4,548,2,300, ?散列表表 长aTlbeiSez= 1 1 ? 散列,函数:h为ke() y= key omd 11 。用平探测法方处冲突,理列依次出插入后散的表,列估算并ALs。 关S词键 eyk散列地 址h(eky)4 3 777 2 9 17 109 9 4 8754 01 2 0 9038 键词关 ey k列散址h地(eky 冲)次数突 7 4 30 7 7 0 2 97 1 11 00 9 90 8 47 2 5 4010 029 3 30 83 A LSs = 1+1(+2+113+144)+ / 9=18 /9 2 地址 操= 0 1作2 3 4 6 5 7 8 91 说0明 入插7 插47入插入 29插入11 插入 插9入48 入5插 插4入2 0入插03 11 1 11 111 11 11 0 32 200 47 474 47 477 7 4474 747 8 4 84 4 884 7 7 777 7 7 72 9 9 2292 2992 9 9 2 9 9 9 9 594 5 54 4 无突冲 无冲突d 1 1= 冲突无 无冲突d2 =1 -无突冲 3d =4 d3 = 4 2. 方探平测(法Quardatc Proiibn)g 是有否,方平测(探次探二)就测能得找?到5 601 7 2 34 h( k=)k m o 5 插入d1 , 1(h11)1= 测探序:列+1=1, 2-1=01, 1(2+2mo)d =5,0(1 -22mod )52, (=+12)3od 5m=0 (1-3,2m)d 5o=2, (14+2m)od 5=,2 定有显理示如:散果表列度T长baelizeS某个是4k3+(是k正整数 形)式的数时,平方探素法就可测以查探到整散个表空间列。 ytpeed ftrscutHash ablTeInit ilizaTaelbe( intT blaSeie ) HaszhbT *HalhsTabel ;s trct uashTbHlH shaTbla e; Hin tTableSzi; eitn ; Cile lheTellsC if; ( abTelizS T-albeSie = NzxePtimr(e TbleaiSze); 4 /*1分 配散表列Cells / H*-heCTlls=e(elC *lma)loclsi(eozf(Ce ll)* -HTaleSbze);i5 67 8 910 1 f(i H-heTCelsl = =NUL L) FtalEraor(r 空间出!溢! ); !orf( i =;0i H-The-eCll si .nIo f=Emp t; yrteru nH; 1 1 11 1ositPoinFi nd Ele(enmTtye peyK ,asHhabTel ) H/平方探*/ 测 Poistio nCrreuntosP,NewP so in; tmu /;*记 录突次冲数*/ NCu = 0m N;wPos e =uCrentrPo = sHsh( Kae,y H-TbaelSzei ;) hwlei H(-TehellCs NewPo sInf. o!=Em pt &y &-HhTCeelsl NePwos .Elment !=e Ke y) / *字符类型的关串键需词要st rcpm函 数! !*/ fi(+C+umN% )2 /*判断冲突 的奇偶次 /*N ePwo s C=ruenrtoPs +(C Num+)12/(*um1+)/; 2hwile( eNwPo s= -HTabeliSe ) NewPoz -=sH- TalbSizee else; NePwos= urrCntPes o-C Nu/2 m*C um/2N; wihle New(Po T-blaSiee;z di +1 -22 +122 22 +3-2 -3 . 2ertrnu NewPo; snuC m1 2 34 5 6 ovd Insiret( lEeentmTye Kpye,H shaabTelH ) * /插入操 *作/ oPsiito nPso;P o =s Fid( Kny,eH ) ;if( -HhTeCelsl Ps o.Inf o=! egitLiamet ) / *确在认此入插* / -HhTCelelsPo s.Inof Leg=tiimtea ;-HTeChlls ePos .lemeEt n =eyK;/* 符串字类的型键关词需要 srtcpy函数! */ 在 开地址放列表中散,删除作操很小要心 。常通能只“惰懒删除”即,要增需一个加“删 除记标De(ltee)d,而并不”是真 正删它。除以 便找时不查“断会链。”空其可以间在 次下插时重入。 用 3 .散双探列测(法DuboelH sainh)g 双散列探测: 法di 为ih2(*eyk),2(khy)是e另一个列函散数 探序列测:成h(2ey)k2,2(keh),y3h2key)(,? 任对意的ek,hy2k(e)y 0! ? 探 序列测还该应证保有所的列存储散单元应都该够被探测到能 选择。下形以式良好的有效果 :h(k2ye ) = p- ke( ymod p)其中 :p 素4. 再散(列Reahhing)s ?散列当表元太多(即装填因子素太大 ),时找效率查会降; 下 实?用大装填因子一般最取 05 . ?分离链接 法(epSaatre Cahniig) 分离n接法:链相将位应上置冲突的所有键词关存在储一同单链个表 中例【】设 键关字序列 4为,77, 29,11, 61 ,92, 22, 8,3 5,0 3,7 8,9,9 4, 21 散;函数取为列h(:eky) k=yem od11 0 2; 21 1 用分离接法链处理突。冲 stuctrHa hsbl T it TabnleiSe;z Lst iheLTsist; H; H11 1 32 45 6 78 910 21 98 33 7 16 49 9 28 4792 5 07 表中有?9个结只需1点次查,找 ?个结5点需2要查次找,? 查成功找的平查找均数次:ASL s(=9+*2)5/14 136 . st rut LcsiNtdoe t;pyeefd tsurt LiscNtdoe P*oitsin,o L*its;s trut HashTcbl; tyeped stfruct aHsThlb*H shaaTleb; sturct isLNtde

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论