Introduction to Algorithms, Third Edition



Download 4,84 Mb.
Pdf ko'rish
bet180/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   176   177   178   179   180   181   182   183   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

Double hashing
uses a hash function of the form
h.k; i /
D
.h
1
.k/
C
ih
2
.k//
mod
m ;
where both
h
1
and
h
2
are auxiliary hash functions. The initial probe goes to posi-
tion
T Œh
1
.k/
; successive probe positions are offset from previous positions by the


11.4
Open addressing
273
0
1
2
3
4
5
6
7
8
9
10
11
12
79
69
98
72
14
50
Figure 11.5
Insertion by double hashing. Here we have a hash table of size
13
with
h
1
.k/
D
k
mod
13
and
h
2
.k/
D
1
C
.k
mod
11/
. Since
14
1 .
mod
13/
and
14
3 .
mod
11/
, we insert
the key
14
into empty slot
9
, after examining slots
1
and
5
and finding them to be occupied.
amount
h
2
.k/
, modulo
m
. Thus, unlike the case of linear or quadratic probing, the
probe sequence here depends in two ways upon the key
k
, since the initial probe
position, the offset, or both, may vary. Figure 11.5 gives an example of insertion
by double hashing.
The value
h
2
.k/
must be relatively prime to the hash-table size
m
for the entire
hash table to be searched. (See Exercise 11.4-4.) A convenient way to ensure this
condition is to let
m
be a power of
2
and to design
h
2
so that it always produces an
odd number. Another way is to let
m
be prime and to design
h
2
so that it always
returns a positive integer less than
m
. For example, we could choose
m
prime and
let
h
1
.k/
D
k
mod
m ;
h
2
.k/
D
1
C
.k
mod
m
0
/ ;
where
m
0
is chosen to be slightly less than
m
(say,
m
1
). For example, if
k
D
123456
,
m
D
701
, and
m
0
D
700
, we have
h
1
.k/
D
80
and
h
2
.k/
D
257
, so
that we first probe position
80
, and then we examine every
257
th slot (modulo
m
)
until we find the key or have examined every slot.
When
m
is prime or a power of
2
, double hashing improves over linear or qua-
dratic probing in that
‚.m
2
/
probe sequences are used, rather than
‚.m/
, since
each possible
.h
1
.k/; h
2
.k//
pair yields a distinct probe sequence. As a result, for


274
Chapter 11
Hash Tables
such values of
m
, the performance of double hashing appears to be very close to
the performance of the “ideal” scheme of uniform hashing.
Although values of
m
other than primes or powers of
2
could in principle be
used with double hashing, in practice it becomes more difficult to efficiently gen-
erate
h
2
.k/
in a way that ensures that it is relatively prime to
m
, in part because the
relative density
.m/=m
of such numbers may be small (see equation (31.24)).

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   176   177   178   179   180   181   182   183   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish