16.09.2017 Aufrufe

Vorkurs Informatik

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

14.5 Mengenverwaltung mit Hashing 253<br />

Algorithmus suche(s)<br />

Berechne is ( ): Durchlaufe die Liste von his [ ( )].<br />

Wenn ein Element mit dem Wert s auftritt, gib „ja“ aus, sonst „nein“.<br />

ZEITAUFWAND: im schlechtesten Fall Tn ( ) = On ( ) (alle Elemente in einer Liste)<br />

im günstigsten Fall Tn ( ) = O(1) (ein Element in einer Liste).<br />

Algorithmus fuegeEin(<br />

s)<br />

Berechne is ( ): Suche s in der Liste von h[ i( s)].<br />

Falls snicht vorhanden ist, füge sam Anfang der Liste von h[ i( s)] ein.<br />

ZEITAUFWAND: im schlechtesten Fall Tn ( ) = On ( ) (alle Elemente in einer Liste)<br />

im günstigsten Fall Tn ( ) = O(1) (ein Element in einer Liste).<br />

Algorithmus entferne(s)<br />

Berechne is ( ): Durchlaufe die Liste von his [ ( )].<br />

Wenn ein Element mit dem Wert s auftritt, entferne es aus der Liste.<br />

ZEITAUFWAND: im schlechtesten Fall Tn ( ) = On ( ) (alle Elemente in einer Liste)<br />

im günstigsten Fall Tn ( ) = O(1) (ein Element in einer Liste).<br />

Abbildung 14.12: Zusammenfassung der Algorithmen und des Zeitaufwands beim Hashing<br />

Das Entfernen kann in diesem Fall durch eine zusätzlich gespeicherte Markierung geschehen,<br />

die angibt, dass das Element nicht mehr gültig ist. Beim Einfügen können solche Elemente wieder<br />

genutzt werden, indem bei der Suche der aufzunehmende Wert in das erste auftretende derartige<br />

Element geschrieben und die Markierung zurückgesetzt wird. Das Entfernen auf diese Weise<br />

ist in Abbildung 14.13 nicht vorgesehen.<br />

Beispiel: S={164, 110, 150, 178}<br />

Index i:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

h[i]:<br />

164 150 110 178<br />

Abbildung 14.13: Vorgehensweise bei der Verwaltung von Mengen mittels geschlossenem Hashing

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!