Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Lineares austesten

–1 Punkt
51 Aufrufe
Hallo , habe die Frage schon gestellt, jedoch wurde sie bisher nicht beantwortet. Kann mir denn niemand sagen, wie lineares austesten hier funktioniert? Wieso kommt die 28 an Position 10? etc...
Gefragt 19, Jul 2016 in DAT-AG von uodjt uodjt Eins-Komma-Null-Anwärter(in) (3,710 Punkte)  

Eine Antwort

+1 Punkt
Hallo,

lineares Austesten funktioniert stets auf die gleiche Art und Weise: Ist der Tabelleneintrag, an dem ein Wert $s$ gespeichert werden soll, bereits belegt, dann wird $s$ an dem Index des nächsthöheren freien Tabelleneintrags gespeichert. Eventuell muss hier die Tabelle wieder von vorne durchgegangen werden, wenn das Tabellenende erreicht wurde.

Im Beispiel sieht das wie folgt aus. Wenn 28 in die Tabelle eingefügt wird, ist der Index mit dem Eintrag 10 noch leer. (Zuvor wurde 135 an Index 1 eingefügt. Da Index 1 nun belegt war, wurde 102, das auch einen Hashwert von 1, hat an dem nächstfreien Platz, also 2, eingefügt) Da 28 einen Hashwert von 10 hat, wird die Zahl an Index 10 eingefügt. Wenn 61 als nächstes eingefügt wird, ist der Eintrag 10 bereits belegt. Daher wird 61 an der nächstfreien Stelle, also 0 eingefügt. (Tabelleneintrag 11 existiert ja nicht, deshalb gehen wir die Tabelle jetzt von vorne durch und suchen nach der nächstfreien Stelle.)
Beantwortet 20, Jul 2016 von Marlon Braun Übungsleiter(in) (1,005,480 Punkte)  
...