private static void PathInTree() { Trees.PathBetween2Nodes pb2n = new Trees.PathBetween2Nodes(); Trees.Node root = pb2n.MakeBSTFromArray(new int[] { 5, 6, 3, 1, 2, 4 }); pb2n.InOrderTraversal(root); pb2n.TestPathDistanceBetweenNodesBST(root, 2, 4); pb2n.TestPathDistanceBetweenNodesBST(root, 1, 4); pb2n.TestPathDistanceBetweenNodesBST(root, 2, 5); pb2n.TestPathDistanceBetweenNodesBST(root, 2, 7); }
private static void SecondLargestInBST() { Trees.PathBetween2Nodes pb2n = new Trees.PathBetween2Nodes(); pb2n.GetSecondLargestElemOfBST(new int[] { }); pb2n.GetSecondLargestElemOfBST(new int[] { 5 }); pb2n.GetSecondLargestElemOfBST(new int[] { 5, 6 }); pb2n.GetSecondLargestElemOfBST(new int[] { 5, 3 }); pb2n.GetSecondLargestElemOfBST(new int[] { 5, 3, 1 }); pb2n.GetSecondLargestElemOfBST(new int[] { 9, 3, 1, 4, 5, 6, 7, 8 }); pb2n.GetSecondLargestElemOfBST(new int[] { 5, 3, 1, 4, 6, 7, 8, 9, 0 }); }
private static void CommonParent() { Trees.Node root = null; root = new Trees.Node(50); root.left = new Trees.Node(30); root.right = new Trees.Node(37); root.left.left = new Trees.Node(10); root.left.right = new Trees.Node(35); root.right.left = new Trees.Node(60); root.left.left.right = new Trees.Node(15); root.left.right.left = new Trees.Node(32); root.left.right.right = new Trees.Node(45); Trees.PathBetween2Nodes pb2n = new Trees.PathBetween2Nodes(); pb2n.GetCommonParent(root, 15, 45); }