Bảng băm (Hash table)
Bảng băm (Hash table)
Chương 5
Nội dung
Nội dung
Nội dung
Nội dung
10/18/13
www.lhu.edu.vn
!"#$%&' ($()"
*$*+&$,-./
"&0"1""2#""34
56%&&7$ ")
'8*$*"9:&7"3,;,/<
;,=$/<>/
?@!9=+A$"$8
")%&(1hiệu suất cao
&7,B"CD*E/F
10/18/13
www.lhu.edu.vn
G34H"
=+A1C"I
"
34"9+&$&H"
=+ABC(+0B
&
5%&D""++$
"I"
56%&=;,J/
!"#$#%!!"& !'()
!"#$#%!!"& !'()
10/18/13
www.lhu.edu.vn
-K# "" + &$,*.
$L&.*/"3=+A
MK # "" "I ,*. $L
+.**.*/+$
*+, - ./
0$1!+20+!3!4)
0 +205!1!.6
7 ! 8 !"2 !4)
0 .6 79
%#!":
%#!":
10/18/13
www.lhu.edu.vn
Bảng băm đóngK
NE34"E
OP&9B(1"I
-7: ")""$"Q<9+Q
6+R=D*E
Bảng băm mởK
NE34&7"E
O*E&9"9:"9"S"I
!9: ")""$"Q<934
56+R"9:*7"T
;2'
;2'
10/18/13
www.lhu.edu.vn
UV+&$,*E<"P>/"I<"I"
+$
W0KV&9"PJ"I,*EQ/
int hashfunc( char *s, int n )
{ int sum = 0;
while( n-- ) sum = sum + *s++;
return sum % 256;
}
50"I"2&$XMYK<# =9>?
50"I"2&$XMYK<# =9>?
5'+20@2 -.6 7A'.B.1
2''2
<# !'2
<# !'2
C'0!"6+20 Hàm băm 6 7? 7B
10/18/13
www.lhu.edu.vn
5Q"Z
50$[
!"&$H"E'+$[
\+[
<# !'2
<# !'2
10/18/13
www.lhu.edu.vn
]C+
]S"
]S
;)0)$&
;)0)$&
10/18/13
www.lhu.edu.vn
]C+
;)0)$&
;)0)$&
Khoá Địa chỉ Khóa Địa chỉ Khóa Địa chỉ Khóa Địa chỉ
a 0 h 7 o 14 v 21
b 1 i 8 p 15 w 22
c 2 j 9 q 16 x 23
d 3 k 10 r 17 y 24
e 4 l 11 s 18 z 25
f 5 m 12 t 19 / /
g 6 n 13 u 20 / /