O
hier mal der algorithmus, den ich grad mal gemacht hab:
erstelle neuerKnoten
ebene=1
testknoten=baumwurzel
solange Baumende nicht erreicht
wenn neuerKnoten==testknoten
abbrechen
wenn neuerKnoten<testknoten
testknoten=linke seite von testknoten
sonst testknoten=rechte seite von testknoten
ebene+1
wenn testknoten==ende
tausche ende mit neuerknoten
sonst
wenn neuerknoten==testknoten
füge neuerknoten in testknoten ein
abbrechen
wenn neuerknoten<testknoten
hänge neuerknoten an linke seite von testknoten
sonst
hänge neuerknoten an rechte seite von testknoten
knotenZahl+1
ebene+1
Wenn knotenzahl==maxKnoten
ebenenZahl+1
maxKnoten=2^ebenenZahl-1
wenn ebene>ebenenZahl
sortiereBaum;
nicht an den namen stören, ich hab mir angewöhnt, bei algorithmen entweder alles deutsch, oder alles englisch zu machen, im code werden also die variablennamen durch englische ersetzt
ich denke, der algorithmus müsste alles abdecken, was auftreten kann, oder hab ich was vergessen?
über sortiereBaum mach ich mir später gedanken,aber ich glaub, da kann man viel über rekursion machen...