/// <summary> /// Gibt den Binärbaum von der untersten Ebene und größtem Wert bis zum kleinsten Wert aus. /// </summary> /// <param name="node">Der Startknoten für den Baum</param> /// <param name="lvl">Level des Knotens für Rekursion</param> private void TraverseAndPrintInReverse(TreeElement node, int lvl) { if (node == null) { return; } TraverseAndPrintInReverse(node.ChildRight, lvl + 1); for (int x = 0; x < lvl; x++) { Console.Write(" "); } // if (node.ParentRelation == TreeElement.ParentNodeRelation.RightChild) // { // Console.WriteLine("/" + node.ToString()); // } // else // if (node.ParentRelation == TreeElement.ParentNodeRelation.LeftChild) // { // Console.WriteLine("\\" + node.ToString()); // } // else // { Console.WriteLine(node.ToString()); //} TraverseAndPrintInReverse(node.ChildLeft, lvl + 1); }
/// <summary> /// Sortierte Ausgabe für bäume vom kleinsten Element hin zum größten /// </summary> /// <param name="root"></param> private void TraverseAndPrintInOrder(TreeElement root) { if (root == null) { return; } if (root.ChildLeft != null) { TraverseAndPrintInOrder(root.ChildLeft); } Console.Write(root.ToString()); if (root.ChildRight != null) { TraverseAndPrintInOrder(root.ChildRight); } }