11.10.2013 Aufrufe

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

10. Hash-Verfahren<br />

– oder: Addiere Nummer des zweiten Buchstabens des Vornamens mit der<br />

Nummer des zweiten Buchstabens des Nachnamens<br />

– Hash-Wert ergibt sich dann modulo Feldgrösse, etwa ÑÓ<br />

¯ welche Hash-Funktion ist besser?<br />

10.1. Gr<strong>und</strong>lagen<br />

Hash-Funktionen<br />

¯ hängen vom Datentyp der Elemente <strong>und</strong> konkreter Anwendung ab<br />

¯ für Integer oft<br />

ÑÓ Æ<br />

(funktioniert gut wenn Æ eine Primzahl ist)<br />

¯ für andere Datentypen: Rückführung auf Integer<br />

– Fließpunkt-Zahlen: Addiere Mantisse <strong>und</strong> Exponent<br />

– Strings: Addiere ASCII/Unicode-Werte der/einiger Buchstaben, evtl. jeweils<br />

mit Faktor gewichtet<br />

Hash-Funktionen<br />

¯ sollen die Werte gut ‘streuen’<br />

¯ eventuell von Besonderheiten der Eingabewerte abhängig (Buchstaben des<br />

Alphabets in Namen tauchen unterschiedlich häufig auf!)<br />

¯ sind effizient berechenbar (konstanter Zeitbedarf, auf keinen Fall abhängig<br />

von der Anzahl der gespeicherten Werte!)<br />

10.2. Kollisionsstrategien<br />

190<br />

¯ Verkettung der Überläufer bei Kollisionen<br />

¯ Sondieren (Suchen einer alternativen Position)<br />

– Lineares Sondieren<br />

– Quadratisches Sondieren<br />

– doppeltes Hashen, Sondieren mit Zufallszahlen, ....

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!