? 9 ? ??(Hashing) - PowerPoint PPT Presentation

About This Presentation
Title:

? 9 ? ??(Hashing)

Description:

Title: 9 (Hashing) Author: aa Last modified by: Created Date: 8/26/2003 1:24:13 AM Document presentation format: (4:3) – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 27
Provided by: aa149
Category:
Tags: function | hashing

less

Transcript and Presenter's Notes

Title: ? 9 ? ??(Hashing)


1
? 9 ? ??(Hashing)
  • 9.1 ??? ?? ? ???
  • 9.2 ?? ??(Static Hashing)
  • 9.3 ?? ??

2
9.1??? ?? ? ???
??? ?? ???? ??? ??? ?? ???? ???????? ??? ????,
???? ??? ?? ?? ??? ?? ??? ??? ???? ??? ???? ???
???? ???? ??
Key-to-address ?? ??? ?? ??? ? ?? ??? ???? ??
?????? ????? ?? ???? ????. ?? ?? ??? ???? ???
???? ??? ?????? ????? ????
3
????
?(key)
????
???
?? ?? ??? ???? 1? ?? ??? ? ?? ??(bucket)?? ???
? ???? ???? ??? ?? ?? ??? ???? ??? ??? ??? ???
?? ??? ?? ??? ???? ?? ???? ?? ?? ??, ? ?? ??
??? ?? ??? ??? ???(synonym) ?? ??? ???? ?????
???? ?? ? ??? ?? ????? ??? ??? ??(collision or
clash) ?? ??? ?? ?? ? ??? ?? ?? ??
4
??
  • ? ?? ??? ??? ???? ??? ??? ??? ?? ?? ?
  • ?? ?? ??? ???? ???? ???? ??? ???? ?? ???? ??????
    ? ??? ?? ???.
  • ?? ??? ???? ???? ??? ???? ??? ? ??.

5
  • 9.1.2 ??? ???
  • (1)??
  • ???? ?? ??? ? ?? ?? ??? ?? ??.
  • ? ?? ?? ??? ???? ???? ????? ??? ?? ? ??.
  • ???? ???? ?? ??? ?? ??? ?? ?? ? ???? ????? ???
  • ????? ?? ??? ???? ??? ??? ???? ??? ??? ? ??
  • (2)??
  • ?? ? ?? ??(???)? ???? ??.
  • ?? ??? ??? ???? ??? ????? ??? ??? ? ??? ?? ?? ???
    ??? ??? ????
  • ???? ?????? ???? ? ?? ???? ??? ????.
  • ?????? ?? ????? ??? ?? ??? ??? ??? ??? ??? ? ??

6
?? ???
?? ??? ?? ??? ?? ?? ??? ? ???? ?? ?? ??? ????
? ? ?? ??? ? ?? ???? ??? ?? ?? ??(bucket)??
????, ??? ??? ??(slot)?? ?? ??? ??? ?? ?? ???
???? ?? ?? ??? ? ?? ?? ??? ?? ??? ??? ???? ?? ? ?
?? ?? ??? ????? ? ? ??.
?? 0 1 m-1
?? 1 n-1
?1 ?2 ?m


7
??? ?? ????? ?? ???? ??? ? ?? ???? ? ???
??? ???? ?????? ?? ??? ?? ? ???? ??? ????? ????
?? ??? ???? ???? ?? ??? ??? ??? ? ?? ??? ??? ??
??? ???? ???? ??? ?? ??? ??? ?? ?????? ?? ????
??? ??? ???? ????. ?????? ??? ??? ???? ?????
?????? ??? ?????
????(???)
??? ? ??? ?
8
  • ????(hash function)
  • ??? ? ?? ?? ???? ??? ?????? ??
  • ?? ??? ??? ?? ???? ?? ??? ???? ?? ?? ??? ????
    ??? ? ??? ??.
  • (1)?? ??(mid - square) ??
  • ? ?? ??? ? ??? ??? ?? ? ??? ??? ?? ???? ?? ???
    ??? ??
  • ? ?? ??? ?? ?? ??? ??? ? ?? ?? ?????? ??? ????
    ?? ??? ??? ??? ???? ??
  • ?? ?? h(k) k2
  • (?) ? ? 1234567
  • h(k) (1234567)2 1524155677489 ?
    556 0.5 278
  • ??? ?? ?? ? ?? ? 556? ???(?? ?? 500)
  • ??? ?? ?? ??? ????? ?? ??? 0.5? ???.
  • ? ? 278??? ??? ??? ??

9
Ex)???? 5??? ???? ??, ?? ??? 5??? ??? ???????
??????? ??? ??? ?
????

1 0 1 1 0
1 1 1 1 0 0 1 0 0
?? 5 ??? ?? ??? ??
??) 10110(2) 22 22 22 484 484
111100100(2)
1 1 0 0 1
10
  • (2)???(division-remainder)??
  • ? ?? ??? ??? ???? ? ???? ?? ??? ???? ??
  • H(k) k mod m
  • H(k) ? ?? k ?? m ?? mod modulo???
  • ??? m? ??? ??? ?? ??? ????
  • Ex) 5000?? ??? ?? ?? ?? ? ?? ? ?? 1234567.
  • 1234567 mod 5003 3495
  • ??? ??? ???? ? ? 1234567? ??? 3495
  • ? ? 5003 (??? ? ?? ?? ?? ??? ??)
  • ?? ??? ??? 3495 ?? ??? ?? ??

11
(3) Folding ?? ? ?? ?? ?? ????? ???? ??? ?,
?? ? ?? ???? ???? ? ?? ??? ??? ???? ?? ??? ???
??? ??? ??? ?? ? ?? ???(shift folding)
??? ?? ? ?? ??? ???? ??? ? ??? ??? ?? ??? ?? ??
? ??? ?? ??
12
(?) ?? ??? ? ??? 3??? ????, ??? ??? ??
?????

1 2 3 3 0 1 2 0 1 4 1 2 3 0
1 2 3
3 0 1
4 1 2
3 0
2 0 1
1 2 3
3 0 1
????? 1067 ???? ???? 1? ??? 067? ??? ??? ???
2 0 1
0 6 7
4 1 2
3 0

13
? ?? ??? ???? ??? ?? ??? ? ?? ?? ??? ?? ??? ??
?? ?? ? ??? ?? ??
1 2 3
3 0 1
2 0 1
4 1 2
3 0
1 2 3
1 0 3
2 0 1
2 1 4
671? ??? ??? ???.
6 7 1
3 0

14
(4)??(radix)???
??? ? ?? ?? ??? ?? ???? , ?? ?? ??? ??? ??? ???
???? ?? Ex) ??? 1000? ?????? ? ?? 23864(10)? ????
????? ? ? 23864(16)
145508(10) ?? ???? ??? 1000???
??3?? ??? ???? ??? ??? ??
?? 23864(16) 2164 3163 8162 616
4 160 131072 12288 2048
96 4 145508(10)
15
(5) ?? ???(Digit-analysis)
  • ?? ?? ???? ? ??? ???? ???? ??? ???? ? ??? ????
    ??.
  • ? ??? ?? ??? ?? ??? ???? ??
  • ??? ???? ???? ?? ?? ??? ??? ???
  • ???? ??? ??? ??? ???? ???? ??????, ????.

16
(?) ?? ???? ??? 1000?? ????. ??? ?? ???? ?? ???
3??? ??
? ? ? ?
041 735 2316 041 736 3518 041 736 6435 041 735 2719 041 735 3113 041 735 1221 2 3 6 3 5 8 6 4 5 2 7 9 3 1 3 1 2 1
17
??? ???
??? ??? ? ??. ??? ?? ?? ?? ?? ? ? ???
? ??? ?? ??? ?? ??? ??? ???? ?? ??? ??? ????
?? ??? ???? ? ??? ????? ?? ??? ???? ?? ???? ???
??? ????? ??. ????? ??? ??? ?? ??? ?? ???? ????
??? ?? ???? ???? ??. ??? ?? ??? ???? ?????? ????.
18
?? ???? ???? ???
  • (1)?? ???
  • ??? ?? ???? ??? ???? ??? ??? ????? ???? ??? ???
    ??? ???.
  • ?? ?? ???? ??? ? ??? ?? ???? ???? ???? ? ??? ??
    ????

19
? ?? ???(linear probing)
  • ??? ???? ?? ?? ???? ??? ? ??? ??
  • ????? ?? ?? ?? ??(????? ??? ?? ??)
  • ?? ?? ? ?? ?? ??? ???? ???? ????
  • ??
  • ? ki? ?? ??? ??? h(ki)? ? ? ??? ??
  • ?? ??? ??? h(ki) 1??? ??? ??
  • ?? h(ki) 1? ?? ??? ?? ?? ??? h(ki) 2?
  • ??? h(ki) n? ? ??? ?? ?? ??

20
? ?? ?? h(k) k mod 7 ?? ? ? ? 16, 38,
45, 33, 32
1 2 3 4 5 6 7
16
16 ?? h(16) 16 mod 7 2 2? ??? ??
1 2 3 4 5 6 7
16 38
38 ?? h(38) 38 mod 7 3 3? ??? ??
45 ?? h(45) 45 mod 7 3 3 ??? ?? 38?
?? ??? (45 mod 7) 1? ???? ??? ?? 45? ??
4? ??? ??
1 2 3 4 5 6 7
16 38 45
21
1 2 3 4 5 6 7
16 38 45 33
33 ?? h(33) 33 mod 7 5 5? ??? ??
32 ?? h(32) 32 mod 7 4 4 ???? ??,
h(32) 1 5 5 ??? ?? 33? ?? ?? ?? h(32)
2 6? ?? ??? 6? ??? ??
1 2 3 4 5 6 7
16 38 45 33 32
22
? 2? ???(quadratic probing) ?? ???? ???? ????????
?? ?? ??? ??? ??? ?? ????? ??? ? ??? ?? ????
?? h(k) 12, h(k) 22?? ??? h(k) n2
(n1,2,3.)

k


??(ki)-gt????(h)-gth(ki)
k? ?? ??
h(ki)12
h(ki)22
?? ???
23
? ??? ?? ?? ???? ?? ?? ? ?? ??? ? ?? ??? ?????
?? ?????? ?????? ??? ????? ??. ?? ???? ??? ???
?? ?? ?? ???? ? ??? ?? ?? ??? ?? ??? ??? ?? ??.
? ?? ??
0 1 2 3 4 5 6 7 8 9 10 11 12
234 321 65 233 981 189 307 231
2
2
2
2
24
(2) ?? ???(closed Addressing) ?? ???(chaining)
??? ???? ??? ?? ?? ???? ???? ??
  • ? ?? ??? (coalesced chaining)
  • ??? ???? ? ??? ?? ???? ??? ??? ??? ??? ????? ??
  • ??
  • ????? ???? ??? ?? ??? ?? ???? ???? ??? ????
    ???? ??
  • ??? ? ?? ??? ?? ? ?? ??? ??? ??? ?? ?? ??? ????
    ??? ??

ab - bg ak - kg - aq ko my nj

25
? ?????(separate chaining) ??? ??? ? ???
?????? ???? ?? ????? ?? ??? ????? ??
??? ??? , ??? ????, ???? ???? ??










ab
bg
bh
kg
km
kb
xy
26
9.3 ?? ?? ????? ?? ?? ???? ??? ??? ??? ???? ????
???? ??? ?gt ???? ?? ??? ???? ?? ???(trie)??
?? ??????? ??? ??, ??? ?? ??? ?? ??? ?? ???? m-?
?? ??? m? ??? m? ??? ??? ??? 10??? ?? 10? ??
???? ?? 26? ??. 10??? ???? ?? 10-????? ???? ??
Write a Comment
User Comments (0)
About PowerShow.com