Example #1
0
        static void Main(string[] args)
        {
            BinarySearchTree tree = new BinarySearchTree();

            tree.Insert(25);
            tree.Insert(13);
            tree.Insert(90);
            tree.Insert(7);
            tree.Insert(22);
            tree.Insert(48);
            tree.Insert(38);
            tree.Insert(110);
            tree.Insert(56);
            tree.Insert(78);
            tree.Insert(24);
            Console.WriteLine("Inorder Displaying");
            tree.InOrder(tree.Root);
            tree.DeleteNode(tree.Root, 38, tree.Root);
            Console.WriteLine("22 silindikten sonra");
            Console.WriteLine("Inorder Displaying");
            tree.InOrder(tree.Root);
        }
Example #2
0
        static void Main(string[] args)
        {
            const int min  = 0;
            const int max  = 100;
            var       tree = new BinarySearchTree <int>();
            var       rnd  = new int[10];

            Node <int> root = null;

            var rndNo = new Random();

            for (var i = 0; i < rnd.Length; i++)
            {
                rnd[i] = rndNo.Next(min, max);
            }

            foreach (var r in rnd)
            {
                tree.InsertNode(r);
            }

            Console.WriteLine("input array: ");
            Console.WriteLine(string.Join(",", rnd));
            Console.ReadLine();

            var values = tree.PreorderTraverseTree().ToList();

            Console.WriteLine("the trees preorder traversal: ");
            Console.WriteLine(string.Join(",", values));
            Console.ReadLine();

            var vals = tree.InOrderTraverseTree().ToList();

            Console.WriteLine("the trees inorder traversal: ");
            Console.WriteLine(string.Join(",", vals));
            Console.ReadLine();

            var rndItem = rnd[rndNo.Next(0, rnd.Length)];

            Console.WriteLine(rndItem + " will be deleted from tree");
            Console.ReadLine();
            tree.DeleteNode(rndItem);

            var restTree = tree.PreorderTraverseTree().ToList();

            Console.WriteLine("tree after deletion: ");
            Console.WriteLine(string.Join(",", restTree));
            Console.ReadLine();

            var treeContent = tree.PreorderTraverseTree().ToList();
            var rndItem1    = treeContent[2];

            Console.WriteLine("try to find: " + rndItem1);
            var test = tree.FindNode(rndItem1);

            Console.WriteLine("Found: " + test);
            Console.ReadLine();

            Console.WriteLine("Balancing tree now");
            var balancedTree = tree.BalancedTree();

            var balancedPreOrder = balancedTree.PreorderTraverseTree().ToList();

            Console.WriteLine("preorder traversal of balanced tree: ");
            Console.WriteLine(string.Join(",", balancedPreOrder));
            Console.ReadLine();
        }