Diskussion:Algorithmen und Datenstrukturen in C/ Binäre Bäume

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Erzeugen eines Baumes[Bearbeiten]

  • Warum gibt es keine Funktion neuer_knoten(int wert), die einen neuen Knoten erzeugt und initialisiert? Das wird schließlich an mindestens zwei Stellen benötigt und ist meiner Meinung nach besserer Stil. Man könnte das auch als Knoten-Konstruktor bezeichnen.
  • Warum bekommt einfuegen() einen knoten**, wobei ein einfacher knoten* reichen würde und im aktuellen Code auch nur verwendet wird?

Durchlaufen eines Baumes[Bearbeiten]

  • Kann man in den Funktionen pre-, in- und postorder nicht einfach die folgenden Zeilen weglassen?
  if (k->links != NULL)
 if (k->rechts != NULL)
Die Kurze Antwort lautet korrekterweise: Nein, nämlich mit dem Hintergedanken, dass du dadurch einen Haufen Zeit sparst und Fehler vermeidest. Auch kannst du die initiale Prüfung nicht weglassen, weil sonst inorder(NULL) nicht mehr geht. -- ThePacker 20:36, 1. Nov. 2010 (CET)Beantworten[Beantworten]

Ok, danke --200.3.249.230 15:11, 2. Nov. 2010 (CET)Beantworten[Beantworten]