Diskussion:Doppel-Hashing

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 15 Jahren von Emdee in Abschnitt Bemerkung von 80.141.121.138 vom 16.03.2007
Zur Navigation springen Zur Suche springen

Also irgendwie ist der Artikel nicht stimmig. Zum einen das Thema mit offenem Hashing vs. geschlossenem Hashing. Hier bin ich auch der Meinung, dass das offene Hashing das ist, welches keine externen Listen benutzt.

Des weiteren finde ich das Beispiel für eine H' Funktion unglücklich gewählt. Bei h'(k) = k mod (m - 2) kann es durchaus passieren, dass h'(k) = 0, dann würde aber auch j * h'(k) keine Veränderung an der Position bringen und es wird nie eine erfolgreiche neue Position gefunden.

Eine übliche und auch in den mir bekannten Lehrbüchern erwähnte h' Funktion ist h'(k) = q - (k mod q) für q < m (und m sollte Prim sein). Bei dieser Funktion ist es ausgeschlossen, dass h'(k)=0 wird

Außerdem ist auch die Verknüpfung in der eigentlichen Hash-Funktion meiner Meinung nach fehlerhaft, denn bei der Subtraktion können negative Werte entstehen, die dann aber keiner Zelle zugeordnet werden können. Hier wäre bspw. (h(k) + s(j,k)) mod m vorzuziehen, da diese immer im Bereich 0 - m-1 bleibt, was für eine Hash-Funktion im Allgemeinen gefordert wird.

--Misstschai 15:51, 30. Mär. 2007 (CEST)Beantworten

Bemerkung von 80.141.121.138 vom 16.03.2007[Quelltext bearbeiten]

Ursprünglich im Artikel selber, nun hierher verschoben (Emdee 18:59, 20. Jun. 2008 (CEST)):Beantworten

Bemerkung: Offene und geschlossene Hashverfahren sind hier falsch charakterisiert. Beim offenen Hashverfahren werden Überläufer, auch Kollisionen genannt, in der Hash-Tabelle untergebracht und nicht extern, z.B. in Listen, gespeichert. Beim offenen Hashverfahren sind also Sondierungsfunktionen notwendig.“

80.141.121.138
Eventuell QS setzen. -- Emdee 19:03, 20. Jun. 2008 (CEST)Beantworten