Ich habe folgendes Problem wir müssen eine kollisionsfunktion via doppeltem hashing machen, d.h. wir haben 2 Hashingfunktionen:
h1 = lineares Aufsummieren jedes Zeichens eines Strings
h2 = Aufsummieren jedes Zeichens eines Strings mit Gewichtung (also 1. Zeichen 1, 2. Zeichen 2, usw...)
dann ergibt sich ja als kollisionsfunktion (wert(h1)+wert(h2))%tabellenlänge. Wenn aber das daraus resultierende Bucket bereits besetzt ist, wird die Funktion wieder aufgerunfen, gibt wieder den gleichen wert zurück und das ganze wird zu einer endlosschleife...
ohne das wir einfach +1 irgendwo einsetzen müssen wir das nun lösen. Jemand von euch eine Idee, ich verzweifle dran.
LG, Andreas
h1 = lineares Aufsummieren jedes Zeichens eines Strings
h2 = Aufsummieren jedes Zeichens eines Strings mit Gewichtung (also 1. Zeichen 1, 2. Zeichen 2, usw...)
dann ergibt sich ja als kollisionsfunktion (wert(h1)+wert(h2))%tabellenlänge. Wenn aber das daraus resultierende Bucket bereits besetzt ist, wird die Funktion wieder aufgerunfen, gibt wieder den gleichen wert zurück und das ganze wird zu einer endlosschleife...
ohne das wir einfach +1 irgendwo einsetzen müssen wir das nun lösen. Jemand von euch eine Idee, ich verzweifle dran.
LG, Andreas