PDA

View Full Version : [Frage] Double hashing?


MrFloppy
16-05-2002, 10:57
Hallo!
Hätte kurz mal ne Frage bzgl. Double Hashing.

Wenn ich zb die Funktionen H1= k mod 17 , H2= k mod 5.

Mein Feld reicht von 0 - 10. Dann nehme ich die Zahl 30 und bekomme bei 30 mod 17 = 13. Was soll ich damit machen, passt ja nirgends hinein, wenn die Sondierungsfolge : (H1+j*H2) mod 11 ist. Könnte hier wer ein kurzes Bsp. bitte bringen?

Des weiteren noch ne Frage bzgl. Sondierungsfolge wählen. Kann ichs mir aussuchen ob ich oben genannte ode H1-j*h2 mod m nehme.
THx

-z0nk-
16-05-2002, 11:45
also wenn dein feld von 0-10 reicht, dann würde ich die hashfunktion eher h(k) = k mod 11 wählen.
hängt eben immer von der größeder hashtabelle ab, wie man seine hashfunktin wählt. im skriptum befasst sich glaub ich eine ganze seite mit "wahl der hashfunktionen".

was anderes ... mr.floppy = ex cp cernz ?

mfg,
-z0nk-

MrFloppy
16-05-2002, 12:19
Ist mir schon klar. Das war aber ein altes Prüfungsbeispiel ausm Dezember (glaub ich). Das wollte ich durchrechnen und bin dann genau auf dieses Problem gestossen. Deswegen auch meine Frage hierzu.

P.S: Das mitm ...Mr.Floppy = ex cp cernz... versteh ich nicht.

eXe
19-05-2002, 16:07
nein nicht unser cernz :)
der is kärntner und arbeitet in einer bank *g*


http://www.olympic-lurkers.com/
http://www.the-legends.at/

AntiBit
19-05-2002, 16:46
Ich habs so verstanden:

Du benutzt deine erste Hashfunktion um den Platz herauszufinden, in den du deinen Wert eintragen kannst. Wenn dieser Platz aber 13 ist wie in deinem Fall, dann beginnst du einfach wieder von vorne im Feld.
D.h. 13 mod 10 = 3.
--> Dein Wert 30 würde an Platz 3 geschrieben.


Gruss, Anti