【冲突处理方法】解决冲突的方法有什么
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【冲突处理方法】解决冲突的方法有什么
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
1
2
34 747 474 7 4 74 477 4 747
4
5
6
7
7 7 7 77 77 7
8
9
1
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,30}0, ?散列表表长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
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
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