Graphen und Bäume. Graph Ein Graph besteht aus einer Menge von Knoten und Kanten. Die Knoten tragen Namen und sind durch die Kanten verbunden. Kann jede.
Post on 06-Apr-2015
103 Views
Preview:
Transcript
Graphen und Bäume
Graph
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.
2
Graph - Beispiele
Strecke?
Weg km
Aachen → Dortmund
Nein - -
Dortmund → Aachen
JaDortmund → Bochum → Aachen
210
Verbindung?
Weg Bit/s
Client 2 → Client 1
Nein - -
Client 1 →Client 2
JaClient 1→ Router 1 → Client 2
bei 20 Bits 3 s 3
Bäume
Ein Baum ist ein spezieller Graph.
Wurzel
Innerer Knoten
Blatt
Leere Elemente
Beziehungen
6 2 6 ist Vater von 2 2 ist Sohn von 6
Grundeigenschaften es gibt einen Knoten ohne Vater: die Wurzel jeder andere Knoten hat genau einen Vater
Weitere Eigenschaften
•keine Zyklen•von Wurzel zu einem Knoten genau ein Pfad 4
Bäume
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 KnotenUnterbaum: beliebiger Knoten k mit allen Nachfolgern, k als Wurzel
Pfad
Unterbaum
5
Bäume
Rekursive DefinitionEin 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
B1 B2
W2W1
... ...... ... ...
6
Bäume - Beispiele
7
Binärbäume
Ein Binärbaum ist ein spezieller Baum.Rekursive DefinitionEin Binärbaum ist leer oder er besteht aus einer
Wurzel W und zwei Binärbäumen, dem linken und dem rechten Teilbaum. W
B1 B2
W2W1
...... ... ...
8
Binärbäume - Beispiele (1)
9
Binärbäume - Beispiele (2)
10
Binäre Suchbäume
Ein Binärer Suchbaum ist ein spezieller Binärbaum
Rekursive DefinitionEin 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• ...
11
Binäre Suchbäume - Beispiel
Linker Teilbaum von 25:3 < 2510 < 2511 < 25
Rechter Teilbaum von 25:30 > 2549 > 2564 > 25
Linker Teilbaum von 10:3 < 10
Rechter Teilbaum von 1011 >10
. . .
12
Binäre Suchbäume - Traversierung
Preorder
Durchlauf:
Wurzel – Linker Knoten – Rechter Knoten (WLR)
25
10
3 11
49
30
64
13
Binä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!
14
Binäre Suchbäume - Traversierung
Postorder
Durchlauf:
Linker Knoten – Rechter Knoten – Wurzel (LRW)
25
10
3 11
49
30
64
15
Binäre Suchbäume - Traversierung
Levelorder
Durchlauf:
Ebenenweise
Zuerst Wurzel, dann Söhne der Wurzel, . . .
25
10
3 11
49
30
64
16
Binäre Suchbäume - Operationen
Einfügen
Beispiel: 70
25
10
49
311
30
64
70 > 2570 > 4970 > 64
70NILNIL NILNIL NILNIL NILNIL
NILNIL
17
Binäre Suchbäume - Operationen
25
10
49
311
30
64
70NILNIL NILNIL NILNIL NIL
NILNIL
18
Löschen
1. Fall: Ein Blatt
Beispiel: 3
Binäre Suchbäume - Operationen
25
10
49
11
30
64
70
NIL
NILNIL NILNIL NIL
NILNIL
19
Löschen
2. Fall: Ein innerer Knoten mit 1 Nachfolger
Beispiel: 10
Binä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
64NIL
70
NIL
NILNIL
NILNIL
20
top related