Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Algorithmen und Datenstrukturen FS 2008 BBäume 1 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Definition (1) Jeder Knoten (mit Ausnahme der Wurzel) eines BBaumes der Ordnung m enthält mindestens m und höchstens 2m Schlüssel: m≤s≤2m s...Anzahl der Schlüssel Die Wurzel eines BBaumes der Ordnung m enthält höchstens 2m Schlüssel: 0≤s≤2m 2 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Definition (2) Ein BBaum ist sortiert wenn für jeden Knoten gilt: k1 t0 k2 t1 ks t2 ts All xt0: x≤k1 All xti: 1≤i<s: ki≤x≤ki+1 All xts: ks≤x 3 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Eigenschaften Die Pfadlänge h zu allen Blättern eines BBaumes ist gleich gross. h ≤ logm+1 n = O(log n) Die Bedingung dass die Knoten mindestens zur Hälfte gefüllt sind garantiert eine mindestens 50% Nutzung des verwendeten Speichers. Einfügen kann zu einem Overflow, Entfernen zu einem Underflow eines Knotens führen. 4 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Overflow eines Knotens (Split) vor dem Split: k1 ... km km+1 km+2 ... k2m+1 nach dem Split: k1 ... km km+1 km+2 ... k2m+1 5 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Binäre BBäume (2,3-Bäume) Ordnung m = 1 1 ≤ s ≤ 2 Jeder Knoten (ausser der Wurzel) hat entweder 2 oder 3 Nachfolger a A b B a C A B 6 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Abbildung auf Binäre Bäume a B A a A A B b B a C B a A b B C 7 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Split (1) a A a b b B A B C C 8 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich Split (2) b Aa A a b C A B C B 9 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich a A Split (3) b b B Aa c C D A c B C D 10 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich b Aa A c C B Split (4) b D Aa A c B C D 11 Helmut Schauer Educational Engineering Lab Department for Informatics University of Zurich a A c b D b B Split (5) C Aa A c B C D 12