Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Viktor Heintze Geändert vor über 8 Jahren
1
Diskrete Mathematik I Vorlesung 7 Binärer Suchbaum III
2
Übersicht Binärer Suchbaum Suchen von Knoten
1 Übersicht Binärer Suchbaum Suchen von Knoten Löschen von Knoten (Wurzel) Durchlaufstrategien Preorder Breitendurchlauf
3
Binärer Suchbaum n <n >n
2 Binärer Suchbaum Ein binärer Baum B ist ein binärer Suchbaum, falls er leer ist oder die folgenden Eigenschaften erfüllt sind: die beiden Unterbäume sind binäre Suchbäume die Beschriftungen der Knoten des linken Suchbaums sind kleiner als die Beschriftung der Wurzel die Beschriftungen des rechten Suchbaums sind größer als die Beschriftung der Wurzel n <n >n
4
Suchen von Knoten Suche einer Zahl k in einem binären Suchbaum B
3 Suchen von Knoten Suche einer Zahl k in einem binären Suchbaum B B ist leer k kann nicht im Baum sein. B ist nicht leer B.wert = k : k ist gefunden, d.h. bereits in B vorhanden. B.wert < k : Suche im rechten Unterbaum von B. B.wert > k : Suche im linken Unterbaum von B.
5
Löschen von Knoten (Wurzel)
4 Löschen von Knoten (Wurzel) Rechter Unterbaum ist unbesetzt 14 9 10 16 13 15 A 3x
6
Löschen von Knoten (Wurzel)
4 Löschen von Knoten (Wurzel) Rechter Unterbaum ist unbesetzt 14 9 10 16 13 15 A 3x
7
Löschen von Knoten (Wurzel)
4 Löschen von Knoten (Wurzel) Rechter Unterbaum ist unbesetzt Unterbaum bildet einen binären Baum 14 9 10 13 15 A 3x
8
Löschen von Knoten (Wurzel)
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt 18 14 9 10 24 16 13 15 A 12x
9
Es muß eine neuer Knoten, der die Wurzel bildet, gefunden werden.
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt Es muß eine neuer Knoten, der die Wurzel bildet, gefunden werden. Suchbaum zerfällt in zwei disjunkte Bäume 14 9 10 13 15 18 24 A 12x
10
Löschen von Knoten (Wurzel)
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt 18 14 9 10 24 16 13 15 Kriterien: Der Knoten muss der Größte des linken Unterbaums sein. Der Knoten muss der Kleinste des rechten Unterbaums sein. A 12x
11
Löschen von Knoten (Wurzel)
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt 18 14 9 10 24 16 13 15 Kandidaten A 12x
12
Löschen von Knoten (Wurzel)
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt 18 14 9 10 24 16 13 15 Kandidaten A 12x
13
Löschen von Knoten (Wurzel)
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt 18 14 9 10 24 16 13 15 Kandidaten A 12x
14
Löschen von Knoten (Wurzel)
5 Löschen von Knoten (Wurzel) Beide Unterbäume sind besetzt 18 14 9 10 24 15 13 A 12x
15
Durchlaufstrategien Preorder
6 Durchlaufstrategien Preorder Die Wurzel wird vor den Unterbäumen besucht, die Unterbäume werden von links nach rechts abgearbeitet Breitendurchlauf Mit einem Knoten werden seine Nachbarn von links nach rechts besucht
16
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 A 9x
17
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16 A 9x
18
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10 A 9x
19
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9 A 9x
20
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9, 14 A 9x
21
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9, 14, 13 A 9x
22
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9, 14, 13, 15 A 9x
23
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9, 14, 13, 15, 24 A 9x
24
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9, 14, 13, 15, 24, 18 A 9x
25
Durchlaufstrategie: Preorder
7 Durchlaufstrategie: Preorder 18 14 9 10 24 16 13 15 16, 10, 9, 14, 13, 15, 24, 18 A 9x
26
Durchlaufstrategie: Preorder
8 Durchlaufstrategie: Preorder void PreOrder() { PreOrder(wurzel); } private void PreOrder(Knoten aktuell) { if (aktuell != null) { System.out.println(aktuell.GibWert()); PreOrder(aktuell.GibLinks()); PreOrder(aktuell.GibRechts());
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.