Beispiel #1
0
 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);
 }
Beispiel #2
0
 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 });
 }
Beispiel #3
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);
        }