Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Splay Trees Von Projdakov Benjamin. Inhalt 1.Binäre Suchbäume 2.Splay Trees a.Self adjustment b.Anwendungsbeispiel c.Rotationen I.Zig / Zag II.ZigZig/ZagZag.

Ähnliche Präsentationen


Präsentation zum Thema: "Splay Trees Von Projdakov Benjamin. Inhalt 1.Binäre Suchbäume 2.Splay Trees a.Self adjustment b.Anwendungsbeispiel c.Rotationen I.Zig / Zag II.ZigZig/ZagZag."—  Präsentation transkript:

1 Splay Trees Von Projdakov Benjamin

2 Inhalt 1.Binäre Suchbäume 2.Splay Trees a.Self adjustment b.Anwendungsbeispiel c.Rotationen I.Zig / Zag II.ZigZig/ZagZag III.ZigZag/ZagZig d.Operationen I.Splay/Suche II.Einfügen III.Löschen 3.Amortisierte Analyse a.Einführung/Potential- Methode b.Hilfssatz c.Definitionen d.Zugrifslemma I.Zig/Zag II.ZigZag/ZagZig III.ZigZig/ZagZag IV.Splay e.Satz 1: Splay-Baum f.Satz 2: Binärer Baum mit Splay

3 Binäre Suchbäume Eigenschaften: Geordnete Menge von Suchschlüsseln Linkes Kind der kleinere Suchschlüssel Rechtes Kind der größere Suchschlüssel Baum kann zu einer linearen Liste ausarten

4 Splay Tree Splay-Bäume wurden 1985 von Daniel Sleator und Robert Tarjan unter dem Namen Self- Adjusting Binary Search Trees vorgestellt Hat den Vorteil von Selbstjustierung Benutzt Rotationen für Knotenbewegung Typische Befehle auf Knoten: – Suche – Füge ein – Lösche

5 Self adjustment Nach jeder Operation steht der bearbeitete Knoten in der Wurzel. Die Tiefe eines Pfads halbiert sich im Schnitt bei Ausführung einer Operation darauf. Oft benutzte Knoten sind näher an der Wurzel.

6 Beispiel Compiler Compiler: Ein Compiler muss die Variablen und andere Bezeichner eines Programms verwalten. Er kann solche Information in einer Liste oder einer Tabelle behalten. Gerne werden Variablen alphabetisch deklariert und ein Baum entartet zu einer linearen Liste. Wenn einige Bezeichner häufiger verwendet werden, muss man dann mehrmals nach diesen suchen. Ein Splay-Baum würde oft benutzte Variablen an der Wurzel halten und ggf. die Liste zu einem Baum formen.

7 Rotation: Zig / Zag Nur wenn 1 Schritt zur Wurzel. Bei simpler Implementierung werden 2 Zeiger umgebogen. Zig Zag

8 Rotation: ZigZig / ZagZag Wenn mehr als 1 Schritt zur Wurzel. Bei simpler Implementierung werden 4 Zeiger umgebogen. ZigZig ZagZag

9 Rotation: ZigZag / ZigZag Wenn mehr als 1 Schritt zur Wurzel. Bei simpler Implementierung werden 4 Zeiger umgebogen. ZigZag ZagZig

10 Operation: Splay Binäre Suche nach Element Falls Knoten nicht im Baum, wird der Vorgänger betrachtet oder Nachfolger, wenn kleiner als alle. Bewegung des Elements in die Wurzel

11 Operationen: Suche Suche: Einfach eine Splay-Operation mit Rückgabe der neuen Wurzel. Laufzeit von einer Splay-Operation mit Rückgabe der Wurzel.

12 Operation: Einfügen Füge x ein : Suche nach x, falls x gefunden => Splay x Falls x nicht gefunden, wird der Vorgänger y zur Wurzel. Dann füge x als neue Wurzel ein, mit – y linkem Kind von x – rechtes Kind von y wird zum rechtem Kind von x. Laufzeit von einer Splay Operation und umbiegen von 3 Zeigern

13 Operation: Löschen Laufzeit von 2 Splay- Operationen und umbiegen von einem Zeiger

14 Amortisierte Analyse Analyse der durchschnittlichen Kosten von Operationsfolgen. Es werden nicht die maximalen Kosten der einzelnen Schritte betrachtet, sondern es wird der Worst Case aller Operationen im gesamten Durchlauf des Algorithmus analysiert. Dies kann zu einer besseren oberen Schranke führen.

15 Potential-Methode

16 Amortisierte Analyse: Hilfsatz

17 Definition

18 Zugriffslemma Variablen: x : Schlüssel p : Knoten b : Baum

19 Zugriffslemma : Zig / Zag

20 wegen Aufhebung der nicht bewegten Knoten

21 Zugriffslemma : ZigZag / ZagZig

22

23 Zugriffslemma : ZigZig / ZagZag

24

25 Zugriffslemma : Splay Splay ist eine Folge von vorgestellten Operationen.

26 Satz 1 : Splay Baum Für einen anfangs leeren Baum benötigt das Ausführen von m Wörterbuchoperationen mit höchsten N Einfügeoperationen maximal O(m log N). Wörterbuchoperationen brauchen eine konstante Anzahl von Splay-Operationen + eine konstante Anzahl Einzeloperationen. Für diesen Beweis setzen wir alle Gewichte auf 1.

27 Beweis

28 Satz 2 : Binärer Baum mit Splay

29 Potentialdifferenz

30 Abschätzung von Suchfolgen

31


Herunterladen ppt "Splay Trees Von Projdakov Benjamin. Inhalt 1.Binäre Suchbäume 2.Splay Trees a.Self adjustment b.Anwendungsbeispiel c.Rotationen I.Zig / Zag II.ZigZig/ZagZag."

Ähnliche Präsentationen


Google-Anzeigen