Title: Graphen und B
1Graphen und Bäume
2Graph
- Ein Graph besteht aus einer Menge von Knoten und
Kanten. Die Knoten tragen Namen und sind durch
die Kanten verbunden.
Kann jede Kante eines Graphen in genau einer
Richtung durchlaufen werden, so ist der Graph
gerichtet.
Ist jeder Kante eines Graphen ein Wert
zugewiesen, so ist der Graph gewichtet.
3Graph - Beispiele
Strecke? Weg km
Aachen ? Dortmund Nein - -
Dortmund ? Aachen Ja Dortmund ? Bochum ? Aachen 210
Verbindung? Weg Bit/s
Client 2 ? Client 1 Nein - -
Client 1 ? Client 2 Ja Client 1? Router 1 ? Client 2 bei 20 Bits 3 s
4Bäume
- Ein Baum ist ein spezieller Graph.
- Grundeigenschaften
- es gibt einen Knoten ohne Vater die Wurzel
- jeder andere Knoten hat genau einen Vater
Wurzel
Beziehungen 6 ? 2 6 ist Vater von 2 2
ist Sohn von 6
Innerer Knoten
Blatt
- Weitere Eigenschaften
- keine Zyklen
- von Wurzel zu einem Knoten genau ein Pfad
Leere Elemente
5Bäume
Pfad
Unterbaum
Pfad alle Knoten von einem Knoten k1 zu einem
Knoten k2 (z. B. 6 ? 2 ? 8) Pfadlänge
Anzahl der Knoten von einem Knoten k1 zu einem
Knoten k2
Tiefe des Baumes das Maximum aller Pfadlängen
von der Wurzel zu einem Blatt Tiefe eines
Knotens Pfadlänge von der Wurzel zu diesem
Knoten
Unterbaum beliebiger Knoten k mit allen
Nachfolgern, k als Wurzel
6Bäume
Rekursive Definition Ein Baum ist leer oder er
besteht aus einer Wurzel W und einer leeren oder
nichtleeren Liste B1, B2, ..., Bn von Bäumen.
Von W zur Wurzel Wi von Bi führt jeweils eine
Kante.
W
7Bäume - Beispiele
8Binärbäume
- Ein Binärbaum ist ein spezieller Baum.
Rekursive Definition Ein Binärbaum ist leer oder
er besteht aus einer Wurzel W und zwei
Binärbäumen, dem linken und dem rechten Teilbaum.
W
9Binärbäume - Beispiele (1)
10Binärbäume - Beispiele (2)
11Binäre Suchbäume
- Ein Binärer Suchbaum ist ein spezieller Binärbaum
Rekursive Definition Ein binärer Suchbaum ist
leer oder besteht aus einer Wurzel und zwei
binären Suchbäumen, dem linken und dem rechten
Teilbaum. Der Inhalt des Wurzelknotens ist
größer als alle Elemente im linken Suchbaum und
kleiner als alle Elemente im rechten Suchbaum.
- alle Knotenwerte von B1 sind echt kleiner als W
- alle Knotenwerte von B2 sind echt größer als W
- ...
12Binäre Suchbäume - Beispiel
Linker Teilbaum von 25 3 lt 25 10 lt 25 11 lt
25 Rechter Teilbaum von 25 30 gt 25 49 gt 25 64 gt
25 Linker Teilbaum von 10 3 lt 10 Rechter
Teilbaum von 10 11 gt10 . . .
13Binäre Suchbäume - Traversierung
Preorder Durchlauf Wurzel Linker Knoten
Rechter Knoten (WLR)
64
30
25
10
3
11
49
14Binäre Suchbäume - Traversierung
Inorder Durchlauf Linker Knoten Wurzel
Rechter Knoten (LWR)
25
10
3
11
49
30
64
Sortiereigenschaft Nach einem Inorder-Durchlauf
ist die Zahlenfolge aufsteigend sortiert!
15Binäre Suchbäume - Traversierung
Postorder Durchlauf Linker Knoten Rechter
Knoten Wurzel (LRW)
25
10
3
11
49
30
64
16Binäre Suchbäume - Traversierung
Levelorder Durchlauf Ebenenweise Zuerst
Wurzel, dann Söhne der Wurzel, . . .
25
10
3
11
49
30
64
17Binäre Suchbäume - Operationen
Einfügen Beispiel 70
25
70 gt 25
49
10
70 gt 49
70 gt 64
64
3
11
30
70
NIL
NIL
NIL
NIL
NIL
NIL
NIL
NIL
NIL
NIL
18Binäre Suchbäume - Operationen
Löschen 1. Fall Ein Blatt Beispiel 3
25
49
10
64
3
11
30
70
NIL
NIL
NIL
NIL
NIL
NIL
NIL
NIL
NIL
19Binäre Suchbäume - Operationen
Löschen 2. Fall Ein innerer Knoten mit 1
Nachfolger Beispiel 10
25
49
10
64
11
30
NIL
70
NIL
NIL
NIL
NIL
NIL
NIL
NIL
20Binäre Suchbäume - Operationen
Löschen 3. Fall Einen inneren Knoten mit 2
Nachfolgern Vorgehen Suche Knoten mit kleinstem
Element im rechten Teilbaum und ersetze damit zu
löschenden Knoten Beispiel 49
25
49
11
30
64
NIL
NIL
70
NIL
NIL
NIL
NIL