7.2.2 Bäume als Hilfsmittel zur Indexorganisation (1/14) Gegeben: Datei D, Ó AIFB Menge X von Sätzen mit SS2001 Schlüssel A und S = X.A dom(A) die Menge der Schlüsselwerte < sei eine Vorgänger-/ Nachfolgerbeziehung zwischen den Elementen von S (numerisch, lexikalisch oder benutzerdefiniert).
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (2/14) Gesucht: Ein geordneter Baum, der unter Ausnutzung von < in S das Ó AIFB Suchen eines Satzes (Auffinden bzw. Feststellung, dass nicht vorhanden) SS2001 Einfügen eines Satzes, Löschen eines Satzes unterstützt.
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (3/14) Die Knoten des Baumes stellen Blöcke des Speicherraums dar. Ihr Inhalt besteht aus: Verwaltungsinformationen Satzinformationen (Index-Daten oder Sätze von D). Ó AIFB SS2001 Index-Daten setzen sich zusammen aus einem Schlüsselwert s und einem Zeiger auf den Satz mit Schlüsselwert s.
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (4/14) Solche Bäume heißen auch Schlüsselbäume. Schlüsselbaum 1. Art über S : (W,U, <, Inhalt, P) mit: Ó AIFB (W, U, <) ist ein geordneter Baum. SS2001 Inhalt ordnet jedem Knoten einen oder mehrere Schlüsselwerte zu: Inhalt: W (S) \ {Ø} Inhalt*(X) = (X W ). Dabei bezeichnet (S) die Potenzmenge von S.
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (5/14) P: W (p(S)) gibt für einen Teil der Knoten zusätzliche Informationen p(x) über Sätze x aus X, etwa die Adresse eines Satzes (bzw. einen Zeiger auf diesen Satz) oder den Satz selbst. Ó AIFB SS2001 Sei p(x) der Zeiger auf Satz x oder sei p(x) = x der Satz selbst. Falls x X Satz mit Schlüsselwert s ist, so schreiben wir auch p(s) statt p(x). WP ::= {w W | P(w) Ø} ist die Menge der Knoten mit nicht-leeren Satzinformationen.
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (6/14) Schlüsselbaum 1.Art Datei ANG: Ó AIFB Georg ... Otto Kurt Max Leo Max SS2001 Otto Kurt Georg Leo
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (7/14) Realisierungsmöglichkeit Datei ANG: RSN Satzinhalt Ó AIFB 123 Georg 124 ... 213 ... 214 Otto ... 335 Kurt 336 Max 564 Leo Max ANG.336 SS2001 Otto ANG.214 Kurt ANG.335 Georg ANG.123 Leo ANG.564
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (8/14) Ein hohler Schlüsselbaum ist ein Schlüsselbaum, in dem nur die Blätter Satzinformationen enthalten: WP = {w W | w Blatt}. Ó AIFB SS2001 Ein sortierter Schlüsselbaum (über der Menge S der Schlüsselwerte einer Datei) ist ein Schlüsselbaum 1. Art T = (W, U, <, Inhalt, P) mit folgenden zusätzlichen Eigenschaften: Für u, v, w W gilt: (i) Zusammenhang zwischen < in T und < in S: u, v Brüder und u < v (in T) max(Inhalt(u)) < min(Inhalt(v)) (in S)
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (9/14) (ii) Zusammenhang Sohn/ Vater und < in S: u Sohn von w, s Inhalt(w) entweder max(Inhalt*(Wu)) s oder s < min(Inhalt*(Wu)) Dabei sei Tu = (Wu, Uu) der zu u gehörende Teilbaum von T. Ó AIFB SS2001 (iii) Zusammenhang Vater/ Söhne und < in S : u,v Söhne von w, u < v (in T) es ex. ein s Inhalt(w) mit: max(Inhalt(u)) s < min(Inhalt(v))
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (10/14) Anmerkungen: (1) Forderung (ii) nur für u anstatt Wu genügt nicht. (2) Forderungen (ii) und (iii) müssen beide gelten. (3) Aus (iii) folgt (i). (4) Aus (ii), (iii) folgt die Struktur innerhalb der Knoten. Ó AIFB SS2001
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (11/14) Schlüsselbaum 1.Art Sortierter Schlüsselbaum? (ii) verletzt (iii) (ii) (iii) verletzt (ii) für w2 (ii) verletzt f. w0 (iii) Nein Ó AIFB w0 17 SS2001 w1 w2 10 22 25 3 7 11 12 13 14 23 24 27 28 1 9
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (12/14) Schlüsselbaum 1.Art Sortierter Schlüsselbaum? Ja Ó AIFB 2 4 6 11 13 14 9 10 8 12 14 SS2001 15
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (13/14) Sortierter SB (über Schlüsselmenge S) ::= SB 1.Art T = (w, u, <, Inhalt, ) mit T: wo Ó AIFB ... SS2001 w Wu w, u, v lt. Skizze: sInhalt (u), s‘Inhalt (v): s<s‘ sInhalt (w): entw. s‘ Inhalt*(Wu): s‘<= s oder sInhalt (w) s‘ Inhalt(u), s‘‘ Inhalt(v): s‘<= s< s‘‘ s < s‘ u v ... ... ...
7.2.2 Bäume als Hilfsmittel zur Indexorganisation (14/14) Strukturierung innerhalb der Knoten Zur Darstellung: Für alle w W: I(w) ::= #Inhalt(w) mit Inhalt(w) = {sw,1,..., sw,I(w)}. Ó AIFB SS2001 Anordnung der Schlüsselwerte in w: sw,1 < sw,2 < ... < sw,I(w). Aus den definierten Eigenschaften für sortierte Schlüsselbäume folgt: Für alle w W gilt: 0 s(w) I(w) + 1. w: • S w,1 • S w,2 • S w,3 • ... S w,I(w) • XXX