PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : binärer Baum


Feivel
06.05.2004, 18:59
Vielleicht kann mir ja hier einer weiterhelfen.

Ich muss einen binären Baum mit Zeigern entwickeln.

Hat das jemand schon mal gemacht, bzw weiß, wie es gemacht wird?


Messiah_of_Death
06.05.2004, 20:26
erstmal nen Datentyp

Baum hat wurzel, daran hängen die Zweige

also

type
TpNode = ^TNode;
TNode = record
left, right : TpNode;
value : integer; { oder was auch immer gespeichert werden soll }
end;



damit du weist wo der Baum anfängt, erstmal ne wurzel


var
root : TpNode;




dann brauchst du ne routine zum einfügen

.. kannst auch gleich dabei grob "sortieren" ..

beschreibung:

procedue einfügen(position : tpnode)
wenn position = nil
new(position)
position.left = nil;
position.right. nil;
position.value = wert;
sonst
wenn wert < position.value
links einfügen
sonst
wenn wert > position.value
rechts einfügen

etc pp

ausgabe geht mit 3 schmen

postorder
inorder
preorder

dokus per google oder so

denk das reicht zur erklärung