Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGusztáv Lukács Megváltozta több, mint 10 éve
1
Nyílt címzéses Hashelés Nyílt címzéssel, h(k)=k mod(11) hash-függvénnyel hash-eljük a következő sorozatot: 18,28,36,17,62,48,50 Rajzoljuk le a keletkezett táblát (kezdetben üres volt).
2
Lineáris próbálás: h(k) = k mod 11 012345678910 3662172818 012345678910 362818 k = 18, 28, 36 k = 17 6-os foglalt 012345678910 36172818 Lényege: ha egy tömbindex foglalt, visszalépünk az első üres tömbindexig és ott helyezzük el az elemet. k = 62 7-es foglalt
3
Lineáris próbálás: h(k) = k mod 11 012345678910 483662172818 Lényege: ha egy tömbindex foglalt, visszalépünk az első üres tömbindexig, és ott helyezzük el az elemet. k = 48 4-es foglalt 012345678910 50483662172818 k = 50 6-os foglalt
4
Négyzetes próbálás: h(k) = k mod 11 012345678910 3617281862 012345678910 362818 k = 18, 28, 36 k = 17 6-os foglalt 012345678910 36172818 Lényege: ha egy tömbindex foglalt, a tőle jobbra, majd balra lévő távolság négyzetére rakjuk az elemet. 1 2 -1 2 2 2 -2 2 …stb. k = 62 7-es foglalt
5
Négyzetes próbálás: h(k) = k mod 11 012345678910 364817281862 k = 48 4-es szabad! 012345678910 36481728186250 k = 50 6-os foglalt Lényege: ha egy tömbindex foglalt, a tőle jobbra, majd balra lévő távolság négyzetére rakjuk az elemet. 1 2 -1 2 2 2 -2 2 …stb.
6
Kettős hash-elés 012345678910 361828 012345678910 18 k = 18 7-1(4+1)= 2 k = 28 6-1(0+1)=5 012345678910 1828 Elsődleges hash függvény: k mod 11 Másodlagos hash függvény: (k mod 7) + 1 Ez alapján a képlet amivel az indexszámot kapjuk: k mod 11 – ( i ( (k mod 7) + 1 )) ahol i az ütközések száma k = 36 3-1(1+1)=1
7
Kettős hash-elés 012345678910 36182817 012345678910 6236182817 Elsődleges hash függvény: k mod 11 Másodlagos hash függvény: (k mod 7) + 1 Ez alapján a képlet amivel az indexszámot kapjuk: k mod 11 – ( i ( (k mod 7) + 1 )) ahol i az ütközések száma k = 17 6-1(3+1)=2 6-2(3+1)=-2 k = 62 7-1(6+1)=0
8
Kettős hash-elés 012345678910 3618284817 012345678910 62361850284817 Elsődleges hash függvény: k mod 11 Másodlagos hash függvény: (k mod 7) + 1 Ez alapján a képlet amivel az indexszámot kapjuk: k mod 11 – ( i ( (k mod 7) + 1 )) ahol i az ütközések száma k = 48 4-1(6+1)=-3 k = 50 6-1(1+1)=4
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.