Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine(" Welcome to binary search tree!");
            BinarySearchTree <int> binarySearchTree = new BinarySearchTree <int>();

            binarySearchTree.InsertData(56);
            binarySearchTree.InsertData(30);
            binarySearchTree.InsertData(70);
            binarySearchTree.InsertData(22);
            binarySearchTree.InsertData(40);
            binarySearchTree.InsertData(11);
            binarySearchTree.InsertData(3);
            binarySearchTree.InsertData(16);
            binarySearchTree.InsertData(60);
            binarySearchTree.InsertData(95);
            binarySearchTree.InsertData(65);
            binarySearchTree.InsertData(63);
            binarySearchTree.InsertData(67);
            binarySearchTree.Display(binarySearchTree.GetRoot());
            Console.WriteLine("Count of elements in Binary search tree is: " + binarySearchTree.GetSize());
        }
Exemple #2
0
        public static void Main(string[] args)
        {
            /*
             *
             *
             *                          7
             *                         / \
             *                        3   13
             *                       / \  / \
             *                      2  4  9  16
             *                     /          \
             *                    1            19
             *
             */

            BinarySearchTree BST = new BinarySearchTree();

            /*
             *
             * BST.Insert(BST.GetRoot(),4);
             * BST.Insert(BST.GetRoot(),7);
             * BST.Insert(BST.GetRoot(),16);
             * BST.Insert(BST.GetRoot(),19);
             * BST.Insert(BST.GetRoot(),3);
             * BST.Insert(BST.GetRoot(),1);
             * BST.Insert(BST.GetRoot(),9);
             * BST.Insert(BST.GetRoot(),2);
             *
             */
            BST.InsertBST(6);
            BST.InsertBST(4);
            BST.InsertBST(9);
            BST.InsertBST(2);
            BST.InsertBST(5);
            BST.InsertBST(8);
            BST.InsertBST(12);
            BST.InsertBST(10);
            BST.InsertBST(14);
            Console.WriteLine(Environment.NewLine);
            int searchValue = 9;

            Console.WriteLine($"Searching for Value {searchValue} in the tree.. ");

            if (BinarySearchTree.Search(BST.GetRoot(), searchValue) != null)
            {
                Console.WriteLine($"Value {searchValue} found!!");
            }
            else
            {
                Console.WriteLine($"Value {searchValue} not found!!");
            }

            List <int> result = new List <int>();

            // Node root = BinarySearchTree.CreateTree();
            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("InOrder Traversal: ");
            BinarySearchTree.InOrder(BST.GetRoot(), result);
            Console.WriteLine(string.Join(" ", result));

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Delete 2");
            Console.WriteLine(BST.Delete(BST.GetRoot(), 2));
            Console.WriteLine("After deletion");
            result.Clear();
            Console.WriteLine("InOrder Traversal: ");
            BinarySearchTree.InOrder(BST.GetRoot(), result);
            Console.WriteLine(string.Join(" ", result));

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("PreOrder Traversal: ");
            BinarySearchTree.PreOrder(BST.GetRoot());

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("PostOrder Traversal: ");
            BinarySearchTree.PostOrder(BST.GetRoot());

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Find Minimum Value in Binary Search Tree: ");
            int min = BinarySearchTree.FindMinimum(BST.GetRoot());

            Console.WriteLine($"Minimum value in Binary Search tree is:  {min}");


            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Find Maximum Value in Binary Search Tree: ");
            int max = BinarySearchTree.FindMaxium(BST.GetRoot());

            Console.WriteLine($"Maximum value in Binary Search tree is:  {max}");

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine("Find kth Maximum Value in Binary Search Tree: ");
            int k    = 3;
            int kmax = BinarySearchTree.FindKMaxium(BST.GetRoot(), k);

            Console.WriteLine($"kth Maximum: k={k} value in Binary Search tree is:  {kmax}");

            int k1 = 10;

            Console.WriteLine(Environment.NewLine);
            Console.WriteLine($"Find Ancestors of Node k: {k1} in Binary Search Tree: ");
            Console.WriteLine(BinarySearchTree.FindAncestors(BST.GetRoot(), k1));

            Console.WriteLine($"Height of Binary Search tree is: {BinarySearchTree.FindHeight(BST.GetRoot())}");

            int k2 = 3;

            Console.WriteLine($"Binary Search Tree Nodes at k: {k2} distance");
            Console.WriteLine(BinarySearchTree.FindKNodes(BST.GetRoot(), k2));
        }