Morgen!
Hab ein kleines Problem bei lernen auf die Klausur zum Thema Hashing bzw. lineare Sondierung.
Lineare Sondierung ist ja relativ einfach im Prinzip: Ich habe ein Feld und lass mir einen Hashwert zu ner Zahl generieren, wenn das Feld mit dem Index von dem Hashwert aber bereits voll ist gehe ich einfach ein Feld weiter, solange bis ich ein freies Finde wo ich meine Zahl ablegen kann.
D.h. ich habe eine hashfunktion der Form h(x, k) wobei k mein Sondierungswert ist den ich solange inkrementiere bis die Hashtabelle am Index h(x,k) nen freien Slot hat.
Was mir dabei überhaupt nicht ins Hirn rein will: Was soll der Spaß? Normalerweise benutze ich Hashing immer so, dass ich einen Schlüssel habe und dann später durch eingeben von dem Schlüssel wieder mein gespeichertes X finde, aber das funktioniert ja hier überhaupt nicht vor allem wenn ich anfange ein bisschen rumzulöschen kommt da doch totaler Schwachsinn raus in der Hashtabelle..
Beispiel: h(x,0) gibt mir den Index i. Jetzt speichere ich z.b. 2 weiter Zahlen die werden abgelegt am Index i+1 und i+2. Wie finde ich jetzt mit einem Schlüssel meine 2. Zahl? Denn h(x,k) gibt mir ja den Index i, aber für k = 0..2 habe ich einen gültigen Wert im Feld und einer davon ist meine Zahl die ich suche, aber wissen tu ich da gar nichts.
Also was soll das Zeug? Irgendwie kapier ichs nicht kommt mir mehr vor wie ein eigenartiges total praxisfernes Konstrukt das absolut keine Verwendung hat und das natürlich berechtigterweise..
Gruß
ftb