Ein Baum ist ein gerichteter G

Werbung
BÄ U M E
Informatik 2, Bäume
❑ informal:
Modell für beliebige hierarchische Strukturen, Klassifikationsschemata
❑ formal:
Ein Baum ist ein gerichteter Graph mit den Eigenschaften
(1) Es gibt einen ausgezeichneten Knoten, die Wurzel, ohne Vorgängerknoten.
(2) Von der Wurzel gibt es zu jedem anderen Knoten im Graphen
genau einen gerichteten Weg.
a
a
b
d
c
e
b
d
[email protected]
a
c
e
b
d
c
e
SS 2013
3.1 - 1 / 16
BE I S P I E L E I
Informatik 2, Bäume
SOFTWARE DEPENDABILITY
FAULT AVOIDANCE
development phase
FAULT PREVENTION
FAULT REMOVAL
MANUAL (HUMAN-BASED)
COMPUTER-AIDED
animation / simulation / testing
context checking (static analysis)
consistency checking (verification)
operation phase
FAULT TOLERANCE
FAULT MASKING
DEFENSIVE
DIVERSITY
FAULT RECOVERY
[email protected]
SS 2013
3.1 - 2 / 16
BEISPIELE II
Informatik 2, Bäume
1
1.1
1.1.1
1.1.2
1.2
1.3
1.3.1
1.3.2
1.3.3
2
2.1
2.1.1
2.1.2
2.1.3
2.2
3
.
.
.
((()())((())))
[email protected]
SS 2013
3.1 - 3 / 16
BEGRIF FE I
Informatik 2, Bäume
❑ Wurzel
kein Vorgängerknoten
a
❑ Blätter
keine Nachfolgerknoten
❑ innere Knoten
alle anderen
b
❑ Unterbäume eines Knotens
Bäume, mit den direkten Nachfolgern
als Wurzeln
c
d
e
f
g
h
i
[email protected]
SS 2013
3.1 - 4 / 16
BEGRIF FE II
Informatik 2, Bäume
❑ Vater
der direkte Vorgängerknoten
a
❑ Sohn/Kind, linkestes Kind
die direkten Nachfolgerknoten
❑ Bruder, rechter Bruder
-> die anderen, über den Vater
erreichbaren Kinder
b
❑ Vorfahre, Nachfahre
gerichtete Weg von a nach b
-> jeder Knoten ist von sich selbst
Vorfahre bzw Nachfahre
c
d
e
f
g
h
i
❑ echter Vorfahre/Nachfahre
alle, außer der Knoten selbst
[email protected]
SS 2013
3.1 - 5 / 16
BEGRIF FE III
Informatik 2, Bäume
❑ Länge eines Weges
Anzahl der Kanten
= Anzahl der Knoten - 1
a
-> Länge des Weges (a,a) = 0
❑ Höhe eines Knotens
Länge des längsten Weges vom
Knoten zu einem Blatt
b
❑ Höhe eines Baumes
Höhe der Wurzel
= Länge des längsten Weges
= log b n (idealerweise)
❑ Tiefe eines Knoten
Länge des eindeutigen Weges von
der Wurzel zu diesem Knoten
[email protected]
c
d
e
f
g
h
i
SS 2013
3.1 - 6 / 16
WICHTIGSTE EIGENSCHAFT
Informatik 2, Bäume
❑ Anzahl Kanten = Anzahl Knoten - 1
-> gilt nicht für leeren Baum
-> lineare Abhängigkeit für Bäume !!!
-> quadratische Abhängigkeit für allgemeine Graphen
❑ Verfahren, die (im worst-case) auf dem Durchlaufen aller Kanten beruhen,
sollten für Bäume wesentlich günstiger (effizienter) ausfallen.
...
❑ rekursive Definition von Bäumen
-> top-down
-> bottom-up
[email protected]
SS 2013
3.1 - 7 / 16
DURCHLAUFEN EINES BAUMES
Informatik 2, Bäume
❑ algorithmisches Grundproblem
auf Bäumen (und Graphen allg.)
-> Aufsuchen jedes Knotens
genau einmal
❑ abstrakt gesehen handelt es sich
darum, aus einem (2-dim.) Baum
mit n Knoten eine lineare Liste
mit denselben n Knoten zu
machen, d. h.
a
b
2-dim. Baum -> 1-dim. Liste
❑ die rekursive Struktur von
Bäumen führt zu folgenden
naheliegenden rekursiven
Durchlaufverfahren
[email protected]
c
d
e
f
g
h
i
SS 2013
3.1 - 8 / 16
DURCHLAUFEN EINES BAUMES, PSEUDOKODE
Informatik 2, Bäume
❑ Preorder (B):
Wurzel von B;
Knoten im linken Unterbaum in Preorder;
Knoten der weiteren Unterbäume in Preorder;
(1)
(2)
(3)
❑ Postorder (B):
Knoten im linken Unterbaum in Postorder;
Knoten der weiteren Unterbäume in Postorder;
Wurzel von B;
(2)
(3)
(1)
❑ Inorder (B):
Knoten im linken Unterbaum in Inorder;
Wurzel von B;
Knoten der weiteren Unterbäume in Inorder;
[email protected]
SS 2013
DURCHLAUFEN EINES BAUMES, BEOBACHTUNGEN
(2)
(1)
(3)
3.1 - 9 / 16
Informatik 2, Bäume
❑ Grundregeln
-> Start an der Wurzel
-> entgegen Uhrzeigersinn
-> so dicht wie möglich an der Wurzel bleibend
❑ ein Nichtblatt wird in die Liste aufgenommen (“besucht”)
-> Preorder - beim ersten Durchlauf
-> Postorder - beim letzten Durchlauf
-> Inorder
-
beim zweiten Durchlauf
❑ die Blätter sind in allen drei Ordnungsprinzipien gleich geordnet
-> von links nach rechts
❑ unterschiedlich sind nur
-> die Ordnung der Nichtblätter untereinander
-> die Einordnung der Nichtblätter zwischen die Blätter
[email protected]
SS 2013
3.1 - 10 / 16
ANWENDUNGEN
Informatik 2, Bäume
❑ Formelbäume
-> Formelauswertung, prototypisch für “Programmauswertung”
❑ alphabetische Suchbäume
-> strukturierte Schlüssel
-> z. B. Suche im Telefonbuch
Suche in
großen,
aber sortierten
Datenbeständen
❑ allgemeine Suchbäume
-> monolithische Schlüssel
-> z. B. binäre Suche
❑ mehrdimensionale Suchbäume
-> z. B. Viererbäume zur Speicherung von Pixelgraphiken
-> z. B. die Katze im Viererbaum
❑ beliebter Spezialfall - binäre Bäume
-> jeder Knoten hat maximal zwei Nachfolger (Unterbäume)
[email protected]
SS 2013
3.1 - 11 / 16
EINE KATZE UND NOCH ETWAS ANDERES
Informatik 2, Bäume
B
A
C
D
[email protected]
SS 2013
3.1 - 12 / 16
SYSTEM DER PIXEL-NAMEN
Informatik 2, Bäume
B
BB
BA
BC
BD
A
DACB DACA
DACC DACD
CDB CDA
C
CDC
CDD
D
[email protected]
SS 2013
3.1 - 13 / 16
DER VIERERBAUM IN QUADRANT B
Informatik 2, Bäume
B
B
BA
BB
BC
BD
BDD
BAA
BBB
BACA
BBDB
[email protected]
BCC
BCAC
SS 2013
BDCC
3.1 - 14 / 16
DIE HAUPTKNOTEN EINES VIERERBAUMES
A
B
C
Informatik 2, Bäume
B
A
C
D
D
ROTIEREN DER HAUPTKNOTEN
D
A
B
A
D
B
C
C
[email protected]
SS 2013
DREHEN DES VIERERBAUM IM QUADRANTEN B
3.1 - 15 / 16
Informatik 2, Bäume
B
B
[email protected]
SS 2013
3.1 - 16 / 16
Herunterladen