Algorithmen und Datenstrukturen
B4. B¨ aume
Marcel L¨ uthi and Gabriele R¨ oger
Universit¨ at Basel
Algorithmen und Datenstrukturen
— B4. B¨ aume
B4.1 Definitionen und Eigenschaften B4.2 Traversierung
B4.3 Datenstruktur
B4.1 Definitionen und Eigenschaften
Was ist ein Baum
I Struktur um Daten hierarchisch anzuordnen.
Abbildung:
http://www.ub.unibas.ch/bernoulli/index.php/Stammbaum
Was ist ein Baum
Rekursive Definition
Ein Baum T der Ordnung n ist I der leere Baum,
I oder besteht aus einem Knoten (der Wurzel) sowie maximal n B¨ aumen (den Unterb¨ aumen von T ).
Vergleiche mit Definition von Liste:
Eine Liste L ist I die leere Liste
I oder ein Element H (Head) gefolgt von einer Liste.
Beispiele
Eine Liste ist ein Spezialfall eines Baumes (Baum der Ordnung 1)
Terminologie
Wichtigster Spezialfall: Bin¨ arbaum
Bin¨ arbaum (Binary Tree) Ein Bin¨ arbaum T ist
I der leere Baum
I oder besteht aus einem Knoten (genannt Wurzel) sowie maximal 2 Bin¨ arb¨ aumen (den Unterb¨ aumen von T ).
I Bin¨ arb¨ aume haben jede
Menge Anwendungen
I Unser aktueller Fokus
Terminologie (2)
I Voller Bin¨ arbaum: Jeder Knoten hat 0 oder 2 Kinder
I Vollst¨ andiger (oder kompletter) Bin¨ arbaum: Alle Ebenen sind vollst¨ andig gef¨ ullt ausser evtl. die letzte Ebene wobei nur Bl¨ atter rechts fehlen d¨ urfen.
I Perfekter Bin¨ arbaum: Alle internen Knoten haben genau 2
Kinder und alle Bl¨ atter sind auf der gleichen Ebene
Quiz
I Welche der folgenden B¨ aume sind voll, vollst¨ andig oder perfekt?
I Wie ist es mit dem leeren Baum?
H¨ ohe eines perfekten Bin¨ arbaums
Theorem
Die H¨ ohe eines perfekten Bin¨ arbaums der Gr¨ osse N (also mit N Knoten) ist log 2 (N + 1) − 1.
Beweis.
I Die Anzahl Knoten N eines perfekten Baumes der H¨ ohe h
sind N = 2 0 + 2 1 + . . . , +2 h = 2 h+1 − 1
I Aufl¨ osen nach h ergibt
log 2 (N + 1) = h + 1 ⇔ h = log 2 (N + 1) − 1
H¨ ohe eines vollst¨ andigen Bin¨ arbaums
Theorem
Die H¨ ohe eines vollst¨ andigen Bin¨ arbaums der Gr¨ osse N is blog 2 (N)c
I Es stimmt f¨ ur H¨ ohe 0 (F¨ ur N = 1 ist log 2 (1) = 0)
I Die H¨ ohe nimmt nur um 1 zu, wenn N so vergr¨ ossert wird, dass es eine Zweierpotenz wird.
I D.h ein Knoten ist alleine auf der letzten Ebene.
B4.2 Traversierung
Traversierung
Breitenansatz (breadth-first-search). Eine Ebene nach dem anderen.
Tiefenansatz (depth-first-search). Zuerst in die Tiefe, dann links nach rechts.
Quelle:http://www.cse.unsw.edu.au/ billw/Justsearch.html