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 />

Erweiterbares Hashen: Beispiel der Tiefe <br />

Tiefe Index<br />

d = 2<br />

Verdopplung des Index-Arrays<br />

<strong>00</strong><br />

01<br />

10<br />

11<br />

Seiten<br />

<strong>00</strong>011011<br />

<strong>00</strong>1<strong>00</strong><strong>00</strong>0<br />

01010101<br />

01011010<br />

10101010<br />

10110101<br />

11111111<br />

11111110<br />

Würde im Beispiel ein weiterer Wert eingefügt werden, müßte einer der Blöcke<br />

gesplittet werden.<br />

Da der Index ein ausgeglichener Baum ist, muß hierfür die Tiefe um eins erhöht<br />

werden. Das Array verdoppelt damit seine Größe.<br />

Um nun zu vermeiden, daß auch die Buckets verdoppelt werden, können Blätter<br />

gemeinsam auf den selben Bucket zeigen. Beim Verdoppeln des Index-Arrays geht<br />

man nun wie folgt vor: Ist einem Blatt Ü vor dem Verdoppeln das Bucket × zugeordnet,<br />

zeigen nach dem Verdoppeln die beiden Söhne von Ü, also Ü <strong>und</strong> Ü , ebenfalls<br />

beide auf ×.<br />

Erweiterbares Hashen: Array-Größe verdoppelt<br />

Tiefe Index Seiten<br />

d = 3 <strong>00</strong>0<br />

<strong>00</strong>1<br />

010<br />

011<br />

1<strong>00</strong><br />

101<br />

110<br />

111<br />

Erweiterbares Hashen: Aufteilen eines Blockes<br />

nach Einfügen von :<br />

196<br />

<strong>00</strong>011011<br />

<strong>00</strong>1<strong>00</strong><strong>00</strong>0<br />

01010101<br />

01011010<br />

10101010<br />

10110101<br />

11111111<br />

11111110<br />

2<br />

2<br />

2<br />

2<br />

2<br />

2<br />

2<br />

2

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!