Zur Themenübersicht     

Bäume

Wir greifen zurück auf die Definitionen der Graphentheorie, die hier als bekannt vorausgesetzt werden. 

Zur Erinnerung hier ein Graph:

Ein Graph besteht aus Knoten : und Kanten: , welche die Konten verbinden. Werden Graphen zur Verwaltung von Daten verwendet, dann sind die Informationsinghalte in den Knoten und die logischen Verbindungen zwischen den Informationsinhalten in den Kanten zu finden.

 Einige Definitionen zu Graphen:

 
Mögliche Deklaration eines Knotens in Delphi

Wie immer werden nur Verweise zu 
den Informationsinhalten gespeichert.

TNodeList ist irgendeine Liste von 
Verweisen auf andere Knoten.
TNode = class(TObject)
   private
      ValueP{ointer}:TObject;
      In Pointer : TNodeList;
      OutPointer : TNodeList

 


Nun auf in den Wald! zu einem B A UM :
Definition:
Ein Baum ist ein
zusammenhängender
gerichteter Graph
ohne alternative Pfade.

 Einige wichtige Aussagen und Definitionen zu Bäumen:

Und nun gleich zu den Binärbäumen:

 
Definition:
 
Ein binärer Baum ist ein Baum,
bei dem jeder Knoten höchstens 
den Outdegree 2 besitzt.

Im Unterricht haben wir noch eine weitere rekursive (!) Definition erarbeitet:

 
rekursive Definition:
 
Ein binärer Baum ist 
entweder leer oder 
besteht aus einem Knoten, 
      der über zwei Kanten mit zwei 
      weiteren Binärbäumen verkettet ist.

Wer genau hinsieht, bemerkt, dass das untere Bild sich etwas vom oberen unterscheidet: Von den Blättern des Baumes müssen laut Definition ja noch zwei Kanten abgehen, die auf leere Teilbäume zeigen.  !!!

 Auch hier zwei Definitionen zu binären Bäumen: