Springe direkt zu Inhalt

Jennifer Manke:

Analyse und Implementierung von Zip-Trees mit Vergleich gegen andere Datenstrukturen

Kurzbeschreibung

Die Arbeit behandelt Zip-Trees, eine neue Art binärer Suchbäume, die von Tarjan, Levy und Timmel 2019 eingeführt wurde. In einem Zip-Tree bekommt jeder Knoten einen sogenannten "Rang" zugewiesen, der einer aus einer geometrischen Verteilung gezogenen natürlichen Zahl entspricht. Betrachtet man einen perfekt balancierten binären Baum fällt auf, dass die Verteilung der Knoten auf die verschiedenen Ebenen des Baumes exakt einer geometrischen Verteilung mit Mittelwert eins entspricht. Daher besteht die Kernidee hinter Zip-Trees darin, die Knoten zusätzlich zur binären Suchbaumeigenschaft anhand des zugewiesenen Ranges nach der max-heap-Eigenschaft anzuordnen, um den Baum damit in eine einigermaßen balancierte Form zu bringen. Der zweite Grundgedanke der Zip-Trees besteht darin, anstatt Rotationen sogenannte "zip" und "unzip" Operationen zu verwenden, um die Struktur des Baumes beim Einfügen und Löschen zu erhalten.

Neben einer theoretischen Analyse der Eigenschaften der Zip-Trees befasst sich die Bachelorarbeit mit einem Vergleich dieser neuen Bäume gegen bereits etablierte verwandte Datenstrukturen. Ausgewählt wurden hierbei Treaps, Skip-Listen, AVL-Bäume sowie Rot-Schwarz-Bäume. All diese Datenstrukturen werden in der Arbeit kurz besprochen und sowohl in ihren theoretischen Eigenschaften als auch mit Hilfe konkreter Implementierungen mit Zip-Trees verglichen. Damit konnte gezeigt werden, dass Zip-Trees, insbesondere in einer neueren, optimierten Variante, durchaus performant sind und sie aufgrund ihrer vergleichsweise einfachen Implementierung durchaus als Alternative zu "klassischeren" Datenstrukturen in Erwägung gezogen werden sollten.

Abschluss
Bachelor of Science (B.Sc.)
Abgabedatum
28.11.2019