1 / 22

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume)

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume). Prof. Th. Ottmann. Binäre Suchbäume. Binärbäume zur Speicherung von Mengen von Schlüsseln (in den inneren Knoten der Bäume), so dass die Operationen Suchen (find) Einfügen (insert)

olisa
Download Presentation

Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vorlesung Informatik 2Algorithmen und Datenstrukturen(19 - Analyse natürlicher Bäume) Prof. Th. Ottmann

  2. Binäre Suchbäume • Binärbäume zur Speicherung von Mengen von Schlüsseln (in den inneren Knoten der Bäume), so dass die Operationen • Suchen (find) • Einfügen (insert) • Entfernen (remove, delete) • unterstützt werden. • Suchbaumeigenschaft: Die Schlüssel im linken Teilbaum eines Knotens p sind alle kleiner als der Schlüssel von p, und dieserist wiederumkleiner als sämtliche Schlüssel im rechten Teilbaum von p. • Implementierung:

  3. Natürliche Bäume Einfügen 5 9 9 3 12 3 12 4 4 5 • Baum-Struktur hängt von Einfügereihenfolge in anfangs leeren Baum ab • Höhe kann linear zunehmen, sie kann aber auch in O(log n) sein, genau • log2(n+1)

  4. 17 11 22 14 7 12 Beispiel für Suchen, Einfügen, Entfernen

  5. Analyse natürlicher Suchbäume Zwei alternative Vorgehensweisen zur Bestimmung der internen Pfadlänge: 1. Random-Tree-Analyse, d.h. Mittelwert über alle möglichen Permutationen der (in den anfangs leeren Baum) einzufügenden Schlüssel. 2. Gestaltanalyse, d.h. Mittelwert über alle strukturell möglichen Bäume mit n Schlüsseln. Unterschied des Erwartungswertes für die interne Pfadlänge: 1.  1.386 n log2n – 0.846 n + O(log n) 2.  nn + O(n)

  6. 3 1 3 1 2 2 2 1 3 1 3 1 3 2 2 Ursache für den Unterschied  Bei der Random-Tree-Analyse werden ausgeglichene Bäume häufigergezählt. 3,2,1 3,1,2 1,3,2 1,2,3 2,1,3 und 2,3,1

  7. Interne Pfadlänge Interne Pfadlänge: Maß zu Beurteilung der Güte eines Suchbaumes. Rekursive Definition: 1. Ist t der leere Baum, so istI(t) = 0. 2. Für einen Baum mit Wurzel t, linkem Teilbaum tl und rechtem Teilbaum tr gilt:I(t) := I(tl) + I(tr)+ Zahl der Knoten von t. Offensichtlich gilt: ( ) å + = Tiefe ( p ) 1 I ( t ) p P innerer Knoten von t

  8. Durchschnittliche Suchpfadlänge • Für einen Baum t ist die durchschnittliche Suchpfadlänge definiert durch: • D(t) = I(t)/n, n = Anzahl innerer Knoten in t • Frage: Wie groß ist D(t) im • besten • schlechtesten • mittleren Fall • für einen Baum t mit n inneren Knoten?

  9. Interne Pfadlänge: Bester Fall Es entsteht ein vollständiger Binärbaum

  10. Interne Pfadlänge: Schlechtester Fall

  11. Zufällige Bäume • Seien oBdA die Schlüssel {1,…,n} einzufügen. • Sei ferner s1,…, sn eine zufällige Permutation dieser Schlüssel. • Somit ist die Wahrscheinlichkeit P(s1 = k), dass s1 gerade denWert k hat, genau 1/n. • Wenn k der erste Schlüssel ist, wird kzur Wurzel. • Dann enthalten der linke Teilbaum k – 1 Elemente (nämlich die Schlüssel 1,…,k - 1) und der rechte Teilbaum n – k Elemente (d.h. die Schlüssel k + 1,…,n).

  12. Erwartete interne Pfadlänge EI(n) :Erwartungswert für die interne Pfadlänge eines zufälligerzeugten binären Suchbaums mit n Knoten Offensichtlich gilt: Behauptung: EI(n) 1.386n log2n - 0.846n + O(logn). = EI ( 0 ) 0 = EI ( 1 ) 1 n 1 å = - + - + EI ( n ) ( EI ( k 1 ) EI ( n k ) n ) n = k 1 n n 1 å å = + - + - n ( EI ( k 1 ) EI ( n k )) n = = k k 1 1

  13. Beweis (1) n 2 å + = + + und daher Aus den beiden letzten Gleichungen folgt EI ( n 1 ) ( n 1 ) * EI ( k ) + n 1 = k 0 n å + + = + + 2 ( n 1 ) * EI ( n 1 ) ( n 1 ) 2 * EI ( k ) = k 0 - n 1 å = + 2 n * EI n 2 * EI ( k ) = k 0 + + - = + + ( n 1 ) EI ( n 1 ) n * EI ( n ) 2 n 1 2 * EI ( n ) + + = + + + ( n 1 ) EI ( n 1 ) ( n 2 ) EI ( n ) 2 n 1 + + 2 n 1 n 2 + = + EI ( n 1 ) EI ( n ). + + n 1 n 1

  14. Beweis (2) Durch vollständige Induktion über n kann man zeigen, dass für alle n 1 gilt: ist die n -te harmonische Zahl, die wie folgt Abgeschätzt werden kann: Dabei ist die so genannte Eulersche Konstante. = + - EI ( n ) 2 ( n 1 ) H 3 n n 1 1 = + + + H 1 ... n 2 n 1 1 = + g + + O H ln n ( ) n 2 2 n n g = 0 . 5772 ...

  15. Beweis (3) Damit ist Und daher 1 = - - g + + + g + O EI ( n ) 2 n ln n ( 3 2 ) * n 2 ln n 1 2 ( ) n EI ( n ) 2 ln n = - - g + + 2 ln n ( 3 2 ) ... n n 2 2 ln n = - - g + + * log n ( 3 2 ) ... 2 log e n 2 2 log 2 2 ln n = - - g + + 10 * log n ( 3 2 ) ... 2 log e n 10 2 ln n » - - g + + 1 . 386 log n ( 3 2 ) ... 2 n

  16. Beobachtungen • Suchen, Einfügen und Entfernen eines Schlüssels ist bei einemzufällig erzeugten binären Suchbaum mit n Schlüsseln im Mittel inO(log2n) Schritten möglich. • Im schlechtesten Fall kann der Aufwand jedoch Ω(n) betragen. • Man kann nachweisen, dass der mittlere Abstand eines Knotens vonder Wurzel in einem zufällig erzeugten Baum nur etwa 40% überdem Optimum liegt. • Die Einschränkung auf den symmetrischen Nachfolgerverschlechtert jedoch das Verhalten. • Führt man in einem zufällig erzeugten Suchbaum mit n Schlüsseln n2Update-Operationen durch, so ist der Erwartungswert für diedurchschnittliche Suchpfadlänge lediglichΘ(n).

  17. Typischer Binärbaum für eine zufällige Schlüsselsequenz

  18. Resultierender Binärbaum nach n2 Updates

  19. Strukturelle Analyse von Binärbäumen Frage: Wie groß ist die durchschnittliche Suchpfadlänge eines Binärbaumes mit N inneren Knoten, wenn man bei der Durchschnittsbildung jeden strukturell möglichen Binärbaum mit N inneren Knoten genau einmal zählt? Antwort: Sei IN = gesamte interne Pfadlänge aller strukturell verschiedenen Binärbäume mit N inneren Knoten BN = Anzahl aller strukturell verschiedenen Bäume mit N inneren Knoten Dann ist IN/BN =

  20. Anzahl strukturell verschiedener Binärbäume

  21. Gesamte interne Pfadlänge aller Bäume mit N Knoten • Für jeden Baum t mit linkem Teilbaum tl und rechtem Teilbaum tr gilt:

  22. Zusammenfassung Die durchschnittliche Suchpfadlänge in einem Baum mit N inneren Knoten (gemittelt über alle strukturell möglichen Bäume mit N inneren Knoten) ist: 1/NIN/BN

More Related