Christian Sohler, Melanie Schmidt Lehrstuhl 2, Fakultät für Informatik Wintersemester 2009/2010 AuD Übung – Präsenzübung 7 Ausgabedatum: 21.01.2010 — Besprechung: 27.01.2010 Aufgabe 7.1: Treaps Wir betrachten eine Menge {s1 , . . . , sn } von Elementen mit sk < s` für k < `. Dabei hat jedes Element s` ∈ S eine Priorität prio(s` ) mit prio(sk ) 6= prio(s` ) für k 6= `. In der Vorlesung haben wir Treaps kennengelernt: Ein Treap für S ist gleichzeitig ein Suchbaum bzgl. S und ein Heap bzgl. der Prioritäten. • Gibt es für jede Wahl der Menge S und der Prioritäten einen Treap? Wenn ja, warum? Wenn nein, warum nicht? • Ist der Treap für eine gegebene Menge S und gegebene Prioritäten immer eindeutig? Wenn ja, warum? Wenn nein, warum nicht? Aufgabe 7.2: Löschen in randomisierten Suchbäumen Überlege Dir, wie man K aus den folgenden randomisierten Suchbäumen löschen kann (der Ergebnisbaum soll natürlich wieder ein randomisierter Suchbaum sein). Über den Knoten ist der Wert, unter den Knoten die Priorität des jeweiligen Elements angegeben. R 2 2 M 3 P 5 17 O Q 10 15 2 F Z 4 K K R 4 X D 11 17 F Z 3 K 5 H N 10 15 Z 4 X D 11 17 3 H X 5 11 G J 10 15 Aufgabe 7.3: Löschen in randomisierten Suchbäumen Beschreibe, wie man allgemein aus randomisierten Suchbäumen löscht. Welche erwartete Laufzeit hat das Löschen eines Elements? Aufgabe 7.4: Randomisierte Algorithmen - Wiederholung Welche randomisierten Algorithmen haben wir in der Vorlesung behandelt? Wie unterscheiden sich diese Algorithmen in der Benutzung von Randomisierung?