/// <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);
            }
        }