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 + ","); } }
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); }
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)}"); }
public static void InOrderBSTTraversalTest() { var tree = BSTUtilities.CreateRandomBST(); tree.InOrderTraversal(); }