Size Binary Sequential Sequential Average Worst Case CSE Faculty - HCMUT 01 December 2008... Each key has only one address Cao Hoang Tru 6 CSE Faculty - HCMUT 01 December 2008... e Coll
Trang 1CSE Faculty - HCMUT
Cao Hoang Tru
Trang 2Basic Concepts
e Sequential search: O(n) | Requiring several
> key comparisons
Cao Hoang Tru 2 CSE Faculty - HCMUT 01 December 2008
Trang 3Size Binary Sequential Sequential
(Average) (Worst Case)
CSE Faculty - HCMUT 01 December 2008
Trang 6Each key has only one address
Cao Hoang Tru 6 CSE Faculty - HCMUT 01 December 2008
Trang 9e Collision: the location of the data to be inserted is
already occupied by the synonym data
Cao Hoang Tru
Q1 December 2008
CSE Faculty - HCMUT
Trang 10— Compact address space
Cao Hoang Tru
CSE Faculty - HCMUT
Trang 14CSE Faculty - HCMUT 01 December 2008
Trang 17the address space (storage size) Is
as large as the key space
Trang 19160252 > 102
045128 > 051
19
Q1 December 2008
Cao Hoang Tru
CSE Faculty - HCMUT
Trang 24Cao Hoang Tru
CSE Faculty - HCMUT
Trang 25Spreading the data more evenly across the address space
Cao Hoang Tru 25 CSE Faculty - HCMUT 01 December 2008
Trang 26Pseudorandom
y=ax+c
For maximum efficiency, a and c should be prime numbers
Cao Hoang Tru 26 CSE Faculty - HCMUT 01 December 2008
Trang 27CSE Faculty - HCMUT
Cao Hoang Tru
Trang 28e Each collision resolution method can be used
pendently with each hash function
Trang 29number of filled elements
become more than 75% full
CSE Faculty - HCMUT
Cao Hoang Tru
Trang 30hashing tends to cause data to group within the list
e As data are added and collisions are resolved,
= Clustering: data are unevenly distributed across the list
Trang 31Cao Hoang Tru
CSE Faculty - HCMUT
[9] [10] [11] [12] [13]
31 Q1 December 2008
Trang 32Collision Resolution
e Secondary clustering: data become grouped
along a collision path throughout a list
Insert Aj, Bo, Co, Dy 4, Ey, Fo
Trang 33Cao Hoang Tru
CSE Faculty - HCMUT
Trang 34e When a collision occurs, an unoccupiec
searched for placing the new element in
Trang 35Open Addressing
e Hash function:
h: U > {0, ., m — 1}
set of keys addresses
Cao Hoang Tru 35 CSE Faculty - HCMUT 01 December 2008
Trang 36Open Addressing
e Hash and probe function:
hp: Ux {0, ., m-— 1} > {0, ., m— 1}
set of keys probe numbers addresses
Cao Hoang Tru 36 CSE Faculty - HCMUT 01 December 2008
Trang 37CSE Faculty - HCMUT
Cao Hoang Tru
Trang 38CSE Faculty - HCMUT
Cao Hoang Tru
Trang 41Harry Eagle 166702 ——>
Cao Hoang Tru
CSE Faculty - HCMUT
Linear Probing
Hash Function
002
Trang 42
Harry Eagle 166702 ——>
Cao Hoang Tru
CSE Faculty - HCMUT
Linear Probing
Hash Function
Trang 43— data tend to remain near their home address
(significant for disk addresses)
— quite simple to implement
— produces primary clustering
CSE Faculty - HCMUT Cao Hoang Tru
Trang 45POs
kiểu for"
— time required to square numbers
— produces secondary clustering
Trang 48K AY Ể
3V `
° The new address is a function of the collision
address and the key
newAddress = (collisionAddress + offset) MOD listSize
hp(k, i) = (hp(k, i-1) + [k/m]) MOD m
Cao Hoang Tru 48 CSE Faculty - HCMUT 01 December 2008
Trang 51Linked List Resolution
Cao Hoang Tru
CSE Faculty - HCMUT
Vv Chris Walljasper (572556)
Trang 53Cao Hoang Tru
CSE Faculty - HCMUT
linear probing
53 Q1 December 2008