1 vorlesung informatik 2 algorithmen und datenstrukturen (19 - analyse natürlicher bäume) prof....
TRANSCRIPT
![Page 1: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/1.jpg)
1
Vorlesung Informatik 2
Algorithmen und Datenstrukturen
(19 - Analyse natürlicher Bäume)
Prof. Th. Ottmann
![Page 2: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/2.jpg)
2
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 dieser ist wiederum
kleiner als sämtliche Schlüssel im rechten Teilbaum von p.
Implementierung:
Binäre Suchbäume
![Page 3: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/3.jpg)
3
Natürliche Bäume
• 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)
9
3 12
4
9
3 12
5
Einfügen 5
4
![Page 4: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/4.jpg)
4
Beispiel für Suchen, Einfügen, Entfernen
17
11 22
7 14
12
![Page 5: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/5.jpg)
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. nn + O(n)
![Page 6: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/6.jpg)
6
Ursache für den Unterschied
Bei der Random-Tree-Analyse werden ausgeglichene Bäume häufiger
gezählt.
3
2
1
3
1
2
1
3
2
1
2
3
3
2
1
3,2,1 3,1,2 1,3,2 1,2,3 2,1,3 und 2,3,1
![Page 7: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/7.jpg)
7
Interne Pfadlänge
Interne Pfadlänge: Maß zu Beurteilung der Güte eines Suchbaumes.
Rekursive Definition:
1. Ist t der leere Baum, so ist
I(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:p
tI
P innerer Knoten von t
pTiefe 1)()(
![Page 8: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/8.jpg)
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?
![Page 9: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/9.jpg)
9
Interne Pfadlänge: Bester Fall
Es entsteht ein vollständiger Binärbaum
![Page 10: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/10.jpg)
10
Interne Pfadlänge: Schlechtester Fall
![Page 11: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/11.jpg)
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 den
Wert k hat, genau 1/n.
• Wenn k der erste Schlüssel ist, wird k zur 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).
![Page 12: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/12.jpg)
12
Erwartete interne Pfadlänge
EI(n) : Erwartungswert für die interne Pfadlänge eines zufällig
erzeugten binären Suchbaums mit n Knoten
Offensichtlich gilt:
Behauptung: EI(n) 1.386n log2n - 0.846n + O(logn).
n
k
n
k
n
k
knEIkEIn
n
nknEIkEIn
nEI
EI
EI
1 1
1
))()1((1
))()1((1
)(
1)1(
0)0(
![Page 13: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/13.jpg)
13
Beweis (1)
und daher
Aus den beiden letzten Gleichungen folgt
n
k
kEIn
nnEI0
)(*1
2)1()1(
1
0
2
0
2
)(*2*
)(*2)1()1(*)1(
n
k
n
k
kEInEIn
kEInnEIn
).(1
2
1
12)1(
12)()2()1()1(
)(*212)(*)1()1(
nEIn
n
n
nnEI
nnEInnEIn
nEInnEInnEIn
![Page 14: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/14.jpg)
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.
nHn
1...
2
11
)1
(2
1ln 2nn
nHn
...5772.0
nHnnEI n 3)1(2)(
![Page 15: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/15.jpg)
15
Beweis (3)
Damit ist
Und daher
)1(21ln2*)23(ln2)(n
nnnnnEI
...ln2
)23(log386.1
...ln2
)23(log*log
2log2
...ln2
)23(log*log
2
...ln2
)23(ln2)(
2
210
10
22
n
nn
n
nn
e
n
nn
e
n
nn
n
nEI
![Page 16: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/16.jpg)
16
Beobachtungen
• Suchen, Einfügen und Entfernen eines Schlüssels ist bei einem
zufällig erzeugten binären Suchbaum mit n Schlüsseln im Mittel in
O(log2 n) Schritten möglich.
• Im schlechtesten Fall kann der Aufwand jedoch Ω(n) betragen.
• Man kann nachweisen, dass der mittlere Abstand eines Knotens von
der Wurzel in einem zufällig erzeugten Baum nur etwa 40% über
dem Optimum liegt.
• Die Einschränkung auf den symmetrischen Nachfolger
verschlechtert jedoch das Verhalten.
• Führt man in einem zufällig erzeugten Suchbaum mit n Schlüsseln n2
Update-Operationen durch, so ist der Erwartungswert für die
durchschnittliche Suchpfadlänge lediglich Θ(n).
![Page 17: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/17.jpg)
17
Typischer Binärbaum für eine zufällige Schlüsselsequenz
![Page 18: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/18.jpg)
18
Resultierender Binärbaum nach n2 Updates
![Page 19: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/19.jpg)
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 =
![Page 20: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/20.jpg)
20
Anzahl strukturell verschiedener Binärbäume
![Page 21: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/21.jpg)
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:
![Page 22: 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann](https://reader035.vdokument.com/reader035/viewer/2022070310/55204d6549795902118bad21/html5/thumbnails/22.jpg)
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/N IN/BN