TreapIn der Informatik ist ein Treap (gebildet aus binary search Tree, Binärer Suchbaum + Heap, wörtlich Haufen, Halde) ein binärer Suchbaum. Jeder Knoten x besteht aus zwei Elementen:
Treaps wurden im Jahr 1989 von Cecilia R. Aragon und Raimund G. Seidel (Universität des Saarlandes) erfunden. Eine alternative Bezeichnung ist Balde (gebildet aus Baum und Halde). ElementeSie erfüllen die Eigenschaften des binären Suchbaums (Binary search Tree). Das bedeutet:
PrioritätenPrioritäten erfüllen die Eigenschaften des Heaps. Das bedeutet:
Suche nach einem ElementDie Suche erfolgt wie in einem binären Suchbaum. Der zu suchende Wert k wird mit dem Wert der Wurzel verglichen. Ist k größer, vergleicht man den Wert mit dem nächsten Knoten im rechten Teilbaum, wenn kleiner, dann im linken. Zu erwartende Laufzeit: Einfügen eines ElementesUm ein Element e in einen Treap einzufügen, erstellt man einen neuen Knoten x, speichert das Element e in x.key und wählt eine zufällige Priorität für x.priority. Nun fügt man den Knoten mittels x.key gemäß den Eigenschaften des Binären Suchbaums in den Treap ein. Da durch den neuen Knoten nun die Heap-Eigenschaft verletzt sein könnte, rotiert man den Knoten nun solange hinauf, bis die Heap-Bedingung wieder erfüllt ist. Zu erwartende Laufzeit: . Die zu erwartende Tiefe ist logarithmisch. Die Anzahl der zu erwartenden Rotationen ist 2. Entfernen eines Elementes
Zu erwartende Laufzeit: . Die zu erwartende Tiefe ist logarithmisch. Die Anzahl zu erwartender Rotationen ist 2. Kleinstes / größtes Element findenDa die Elemente in einem Treap in der Ordnung eines normalen Binären Suchbaums gespeichert sind, ist das kleinste Element ganz links unten, und das größte Element ganz rechts unten zu finden. Somit muss man, um das kleinste Element zu finden, immer in den linken Teilbaum absteigen, und um das größte Element zu finden immer in den rechten Teilbaum absteigen. Zu erwartende Laufzeit: , da die zu erwartende Tiefe logarithmisch ist. Alle Elemente auflisten
Laufzeit ist . Literatur
Weblinks |
Portal di Ensiklopedia Dunia