Elemente, die in einem Baum gepeichert werden sollen:
Jedes Element besteht aus:
- einem Zeiger auf den Unterbaum, rechts vom Element
- der Schlüssel des Elementes
- die eigentlichen Daten des Elementes (Info-Komponente)
TElement = Record
{ der Schlüssel des Elementes }
Key: KeyTyp;
{ die eigentlichen Daten des Elementes }
Info: InfoTyp;
{ der Unterbaum des Elementes,
der sich rechts vom Element befindet }
Link: LinkTyp;
End;
Knoten, in dem sich die Elemente befinden:
Jeder Knoten besteht aus:
- einem Feld mit den Elementen des Knotens
- die Anzahl der Elemente in dem Knoten
PKnoten = ^TKnoten;
TKnoten = Record
{ Elemente des Knotens }
Elemente: Array [0..2*n] of TElement;
{ Anzahl der Elemente im Knoten }
Anzahl: Integer;
End;
Da ein Knoten (sofern er kein Blatt ist) immer m+1 Nachfolger hat (siehe Regeln) muß ein Knoten zusätzlich
ein Element haben, in dem der linke Unterbaum des Knotens gepeichert wird. Daher
"0..2*n" statt "1..2*n".
Ein vollständiger Knoten vom Typ "TKnoten":