Exemplo n.º 1
0
        public static void FindPathTest()
        {
            var tr   = PreOrderToBST.Construct(new[] { 10, 5, 1, 7, 40, 50 });
            var path = BSTUtilities.FindPath(tr._root, 50);

            foreach (var i in path)
            {
                Console.Write(i + ",");
            }

            Console.WriteLine();

            path = BSTUtilities.FindPath(tr._root, 7);
            foreach (var i in path)
            {
                Console.Write(i + ",");
            }

            Console.WriteLine();
            path = BSTUtilities.FindPath(tr._root, 5);
            foreach (var i in path)
            {
                Console.Write(i + ",");
            }
        }
Exemplo n.º 2
0
        public static void SearchBstTest()
        {
            var tree = BSTUtilities.CreateRandomBST();
            var test = BSTUtilities.Search(tree._root, 99);

            Console.WriteLine(test?.data ?? -1);
            test = BSTUtilities.Search(tree._root, 70);
            Console.WriteLine(test?.data);
        }
Exemplo n.º 3
0
        public static void DeleteKeyFromBstTest()
        {
            var tree = BSTUtilities.CreateRandomBST();
            var test = BSTUtilities.Search(tree._root, 70);

            tree.InOrderTraversal();
            Console.WriteLine();
            var t = BSTUtilities.Delete(tree._root, 70);
            //Console.WriteLine(BSTUtilities.GetMinimumValue(tree._root.right));
        }
        public static void FindInorderSuccessorTest()
        {
            var root = BSTUtilities.CreateSampleBSTWithLinkToParents();

            Console.WriteLine($"In-Order Successor of {root.left.data} is: {BSTSuccessor.FindInOrderSuccessor(root.left)}");
            Console.WriteLine($"In-Order Successor of {root.left.right.left.data} is: {BSTSuccessor.FindInOrderSuccessor(root.left.right.left)}");
            Console.WriteLine($"In-Order Successor of {root.left.right.right.data} is: {BSTSuccessor.FindInOrderSuccessor(root.left.right.right)}");
            Console.WriteLine($"In-Order Successor of {root.right.data} is: {BSTSuccessor.FindInOrderSuccessor(root.right)}");
            Console.WriteLine($"In-Order Successor of {root.left.left.data} is: {BSTSuccessor.FindInOrderSuccessor(root.left.left)}");
            Console.WriteLine($"In-Order Successor of {root.left.right.data} is: {BSTSuccessor.FindInOrderSuccessor(root.left.right)}");
        }
Exemplo n.º 5
0
        public static void InOrderBSTTraversalTest()
        {
            var tree = BSTUtilities.CreateRandomBST();

            tree.InOrderTraversal();
        }