public static void main(String[] args) { BinaryTree B1 = new BinaryTree(); B1.add(10); B1.add(5); B1.add(13); B1.add(12); B1.add(4); B1.add(7); B1.add(14); B1.add(20); B1.add(1); B1.add(2); System.out.println("Inorder traversal:"); B1.displayInorder(B1.root); System.out.println("Preorder traversal:"); B1.displayPreOrder(B1.root); System.out.println("Postorder traversal:"); B1.displayPostOrder(B1.root); System.out.println("Level order Traversal:"); B1.displayLevelOrder(); System.out.println("Nodes at distance 2 from root:"); B1.printNodesAtDistK(B1.root, 0, 2); B1.printVerticalOrder(B1.root); System.out.println("LCA of 2 and 7 is " + B1.findLCA(B1.root, 2, 7).value); System.out.println("Distance between 12 and 1 is " + B1.findDistance(12, 1)); System.out.println("\nTree after trimming:"); B1.root = B1.trimTree(B1.root, 4, 10); B1.displayLevelOrder(); int height = B1.height(B1.root); System.out.println("The hieght of the tree is " + height); if (B1.ifBST(B1.root, Integer.MIN_VALUE, Integer.MAX_VALUE)) System.out.println("The tree is a Binary search tree"); else System.out.println("The tree is not a Binary search tree"); }