Hallo zusammen,
habe folgendes Problem bei einer Klausuraufgabe:
1.Hashfunktion lautet: h(x)=(3+x) mod 13
2.Hashfunktion lautet: g(x)=3 + (x mod 11)
Einzufügen ist: 29
Bereits belegt ist u.a. Stelle 6
h(29)=6
g(29)=10
h(6+10)=h(16)=6
Und jetzt kommt das Problem der Endlosscheife. Ich müsste ja jetzt das Ergebnis von h(16) also die 6 wieder mit dem Ergebnis von g(29) also 10 addieren und wieder in h(x) einsetzen und da so lange, bis ich an einer freien Stelle angelangt bin. Normalerweise sollten dadurch ja auch immer neue Zahlen entstehen aber hier lange ich in einer Endlosschleife.
Habe ich etwas falsch gemacht? In der Vorlesung wurde nichts über die Behandlung solcher Fälle erzählt, also ist es entweder ein Klausurfehler oder man soll hinschreiben das es nicht geht oder ich habe das Konzept des doppelten Hashings missverstanden.
Über eure Hilfe würde ich mich freuen.
Besten Gruß und Dank
Binary
habe folgendes Problem bei einer Klausuraufgabe:
1.Hashfunktion lautet: h(x)=(3+x) mod 13
2.Hashfunktion lautet: g(x)=3 + (x mod 11)
Einzufügen ist: 29
Bereits belegt ist u.a. Stelle 6
h(29)=6
g(29)=10
h(6+10)=h(16)=6
Und jetzt kommt das Problem der Endlosscheife. Ich müsste ja jetzt das Ergebnis von h(16) also die 6 wieder mit dem Ergebnis von g(29) also 10 addieren und wieder in h(x) einsetzen und da so lange, bis ich an einer freien Stelle angelangt bin. Normalerweise sollten dadurch ja auch immer neue Zahlen entstehen aber hier lange ich in einer Endlosschleife.
Habe ich etwas falsch gemacht? In der Vorlesung wurde nichts über die Behandlung solcher Fälle erzählt, also ist es entweder ein Klausurfehler oder man soll hinschreiben das es nicht geht oder ich habe das Konzept des doppelten Hashings missverstanden.
Über eure Hilfe würde ich mich freuen.
Besten Gruß und Dank
Binary