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 [email protected] ((()())((()))) a c e b d c e WS 2005 3.1 - 1 / 16 BEISPIELE Info1, Bäume SOFTWARE DEPENDABILITY FAULT AVOIDANCE [email protected] 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 [email protected] WS 2005 3.1 - 2 / 16 [email protected] 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 [email protected] 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 [email protected] ❑ rekursive Definition von Bäumen -> top-down WS 2005 [email protected] 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 [email protected] 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; [email protected] 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 [email protected] 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 [email protected] WS 2005 3.1 - 10 / 16 [email protected] 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 [email protected] D DACC DACD WS 2005 3.1 - 13 / 16 DER VIERERBAUM IN QUADRANT B Info1, Bäume A B C [email protected] 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 [email protected] BCC BCAC WS 2005 BDCC 3.1 - 14 / 16 [email protected] WS 2005 3.1 - 16 / 16