graphen und bäume. graph ein graph besteht aus einer menge von knoten und kanten. die knoten tragen...
TRANSCRIPT
![Page 1: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/1.jpg)
Graphen und Bäume
![Page 2: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/2.jpg)
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
![Page 3: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/3.jpg)
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
![Page 4: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/4.jpg)
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
![Page 5: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/5.jpg)
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
![Page 6: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/6.jpg)
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
![Page 7: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/7.jpg)
Bäume - Beispiele
7
![Page 8: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/8.jpg)
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
![Page 9: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/9.jpg)
Binärbäume - Beispiele (1)
9
![Page 10: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/10.jpg)
Binärbäume - Beispiele (2)
10
![Page 11: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/11.jpg)
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
![Page 12: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/12.jpg)
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
![Page 13: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/13.jpg)
Binäre Suchbäume - Traversierung
Preorder
Durchlauf:
Wurzel – Linker Knoten – Rechter Knoten (WLR)
25
10
3 11
49
30
64
13
![Page 14: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/14.jpg)
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
![Page 15: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/15.jpg)
Binäre Suchbäume - Traversierung
Postorder
Durchlauf:
Linker Knoten – Rechter Knoten – Wurzel (LRW)
25
10
3 11
49
30
64
15
![Page 16: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/16.jpg)
Binäre Suchbäume - Traversierung
Levelorder
Durchlauf:
Ebenenweise
Zuerst Wurzel, dann Söhne der Wurzel, . . .
25
10
3 11
49
30
64
16
![Page 17: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/17.jpg)
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
![Page 18: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/18.jpg)
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
![Page 19: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/19.jpg)
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
![Page 20: 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](https://reader035.vdocuments.pub/reader035/viewer/2022081518/55204d7e49795902118cf8d8/html5/thumbnails/20.jpg)
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