Beispiel #1
0
        public static void Main(string[] args)
        {
            var tree = new BinaryTree();
            tree.Insert(10);
            tree.Insert(9);
            tree.Insert(12);
            tree.Insert(1);
            tree.Insert(4);
            tree.Insert(2);
            Display(tree.Head);
            Console.WriteLine();
            tree.Remove(10);
            Display(tree.Head);
            Console.WriteLine();
            tree.Insert(3);
            tree.Insert(7);
            tree.Insert(11);
            tree.Insert(6);
            tree.Insert(15);
            Display(tree.Head);
            Console.WriteLine();
            tree.Insert(10);
            tree.Remove(15);
            Display(tree.Head);
            Console.WriteLine();
            tree.Remove(1);
            Display(tree.Head);
            Console.WriteLine();
            tree.Remove(4);
            Display(tree.Head);
            Console.WriteLine();
            tree.Insert(18);
            tree.Insert(19);
            tree.Insert(21);
            tree.Insert(20);
            tree.Insert(22);
            tree.Balanse();

            var contains4 = tree.Contains(7);
            Console.WriteLine(tree.Count);
        }
        //public Node(int data)
        //{
        //    data = root;
        //}

        //public void Insert(int value)
        //{
        //    if (value <= root)
        //    {
        //        if (left == null)
        //        {
        //            left = new Node(value);
        //        }
        //        else
        //        {
        //            left.Insert(value);
        //        }
        //    }
        //    else
        //    {
        //        if (right == null)
        //        {
        //            right = new Node(value);
        //        }
        //        else
        //        {
        //            right.Insert(value);
        //        }
        //    }
        //}

        //public Boolean Contains(int value)
        //{
        //    if (value == root)
        //    {
        //        return true;
        //    }
        //    else if (value < root)
        //    {
        //        if (left == null)
        //        {
        //            return false;
        //        }
        //        else
        //        {
        //            return left.Contains(value);
        //        }
        //    }
        //    else
        //    {
        //        if(right == null)
        //        {
        //            return false;
        //        }
        //        else
        //        {
        //            return right.Contains(value);
        //        }
        //    }
        //}

        //public void PrintInOrder()
        //{
        //    if (left != null)
        //    {
        //        left.PrintInOrder();
        //    }
        //    Console.WriteLine(root);
        //    if (right != null)
        //    {
        //        right.PrintInOrder();

        //    }
        //}

        static void Main(string[] args)
        {
            BinaryTree binaryTree = new BinaryTree();

            binaryTree.Add(1);
            binaryTree.Add(2);
            binaryTree.Add(7);
            binaryTree.Add(3);
            binaryTree.Add(10);
            binaryTree.Add(5);
            binaryTree.Add(8);

            Node node  = binaryTree.Find(5);
            int  depth = binaryTree.GetTreeDepth();

            Console.WriteLine("PreOrder Traversal:");
            binaryTree.TraversePreOrder(binaryTree.Root);
            Console.WriteLine();

            Console.WriteLine("InOrder Traversal:");
            binaryTree.TraverseInOrder(binaryTree.Root);
            Console.WriteLine();

            Console.WriteLine("PostOrder Traversal:");
            binaryTree.TraversePostOrder(binaryTree.Root);
            Console.WriteLine();

            binaryTree.Remove(7);
            binaryTree.Remove(8);

            Console.WriteLine("PreOrder Traversal After Removing Operation:");
            binaryTree.TraversePreOrder(binaryTree.Root);
            Console.WriteLine();

            Console.ReadLine();
        }