eine kurze Einführung

Werbung
BÄUME
Info1, Bäume
BEISPIELE
Info1, Bäume
❑ informal:
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
.
.
.
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
monika.heiner@informatik.tu-cottbus.de
((()())((())))
a
c
e
b
d
c
e
WS 2005
3.1 - 1 / 16
BEISPIELE
Info1, Bäume
SOFTWARE DEPENDABILITY
FAULT AVOIDANCE
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 3 / 16
BEGRIFFE I
Info1, Bäume
❑ Wurzel
kein Vorgängerknoten
development phase
FAULT PREVENTION
a
❑ Blätter
keine Nachfolgerknoten
FAULT REMOVAL
MANUAL (HUMAN-BASED)
❑ innere Knoten
COMPUTER-AIDED
c
d
e
f
g
h
alle anderen
animation / simulation / testing
context checking (static analysis)
consistency checking (verification)
❑ Unterbäume eines Knotens
Bäume, mit den direkten Nachfolgern
als Wurzeln
operation phase
FAULT TOLERANCE
b
FAULT MASKING
DEFENSIVE
i
DIVERSITY
FAULT RECOVERY
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 2 / 16
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 4 / 16
BEGRIFFE II
Info1, Bäume
WICHTIGSTE EIGENSCHAFT
Info1, Bäume
❑ Anzahl Kanten = Anzahl Knoten - 1
❑ Vater
der direkte Vorgängerknoten
-> gilt nicht für leeren Baum
-> lineare Abhängigkeit für Bäume!
-> quadratische Abhängigkeit für allgemeine Graphen
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
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 5 / 16
Info1, Bäume
❑ Länge eines Weges
Anzahl der Kanten
= Anzahl der Knoten - 1
b
c
d
e
f
g
h
❑ Höhe eines Baumes
Höhe der Wurzel
= Länge des längsten Weges
= log b n
❑ Tiefe eines Knoten
i
Länge des eindeutigen Weges von
der Wurzel zu diesem Knoten
monika.heiner@informatik.tu-cottbus.de
❑ rekursive Definition von Bäumen
-> top-down
WS 2005
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 7 / 16
DURCHLAUFEN EINES BAUMES
Info1, Bäume
❑ algorithmisches Grundproblem
auf Bäumen (und Graphen allg.)
-> Aufsuchen jedes Knotens
genau einmal
a
-> Länge des Weges (a,a) = 0
Länge des längsten Weges vom
Knoten zu einem Blatt
...
-> bottom-up
BEGRIFFE III
❑ Höhe eines Knotens
❑ Verfahren, die (im worst-case) auf dem Durchlaufen aller Kanten beruhen,
sollten für Bäume wesentlich günstiger (effizienter) ausfallen.
3.1 - 6 / 16
❑ 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.
2-dim. Baum -> 1-dim. Liste
a
b
❑ die rekursive Struktur von
Bäumen führt zu folgenden
naheliegenden rekursiven
Durchlaufverfahren
monika.heiner@informatik.tu-cottbus.de
c
d
e
f
g
h
i
WS 2005
3.1 - 8 / 16
DURCHLAUFEN EINES BAUMES, PSEUDOKODE
Info1, Bäume
❑ Preorder (B):
ANWENDUNGEN
Info1, Bäume
❑ Formelbäume
Wurzel von B;
Knoten im linken Unterbaum in Preorder;
Knoten der weiteren Unterbäume in Preorder;
-> Formelauswertung, prototypisch für “Programmauswertung”
(1)
(2)
(3)
❑ alphabetische Suchbäume
-> strukturierte Schlüssel
-> z. B. Suche im Telefonbuch
❑ Postorder (B):
Knoten im linken Unterbaum in Postorder;
Knoten der weiteren Unterbäume in Postorder;
Wurzel von B;
Suche in
großen,
aber sortierten
Datenbeständen
❑ Suchbäume
-> monolithische Schlüssel
-> z. B. binäre Suche
(2)
(3)
(1)
❑ Inorder (B):
❑ mehrdimensionale Suchbäume
Knoten im linken Unterbaum in Inorder;
Wurzel von B;
Knoten der weiteren Unterbäume in Inorder;
monika.heiner@informatik.tu-cottbus.de
WS 2005
DURCHLAUFEN EINES BAUMES, BEOBACHTUNGEN
-> z. B. Viererbäume zur Speicherung von Pixelgraphiken
-> z. B. die Katze im Viererbaum
(2)
(1)
(3)
❑ beliebter Spezialfall - binäre Bäume
-> jeder Knoten hat maximal zwei Nachfolger (Unterbäume)
3.1 - 9 / 16
Info1, Bäume
❑ Grundregeln
-> Start an der Wurzel
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 11 / 16
EINE KATZE UND NOCH ETWAS ANDERES
Info1, Bäume
B
A
C
D
-> 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
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 10 / 16
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 12 / 16
SYSTEM DER PIXEL-N AMEN
Info1, Bäume
DIE HAUPTKNOTEN EINES VIERERBAUMES
Info1, Bäume
B
BB
BC
BA
BD
A
A
B
C
B
A
C
D
D
ROTIEREN DER HAUPTKNOTEN
A
D
B
C
CDB CDA
C
DACB DACA
CDC CDD
D
monika.heiner@informatik.tu-cottbus.de
D
DACC DACD
WS 2005
3.1 - 13 / 16
DER VIERERBAUM IN QUADRANT B
Info1, Bäume
A
B
C
monika.heiner@informatik.tu-cottbus.de
WS 2005
DREHEN DES VIERERBAUM IM QUADRANTEN B
3.1 - 15 / 16
Info1, Bäume
B
B
BA
BB
BC
BD
B
BDD
BAA
BBB
BACA
BBDB
monika.heiner@informatik.tu-cottbus.de
BCC
BCAC
WS 2005
BDCC
3.1 - 14 / 16
monika.heiner@informatik.tu-cottbus.de
WS 2005
3.1 - 16 / 16
Herunterladen