Java program to perform the inorder tree traversal
In-order traversal is one of the three depth-first traversal methods for binary trees. In Java, inorder traversal can be implemented recursively using the following algorithm:
refer figi:ottidea.comclass Node {
int data;
Node left, right;
public Node(int data) {
this.data = data;
left = right = null;
}
}
public class BinaryTree {
Node root;
public BinaryTree() {
root = null;
}
public void inOrderTraversal(Node node) {
if (node == null) {
return;
}
inOrderTraversal(node.left);
System.out.print(node.data + " ");
inOrderTraversal(node.right);
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
/* Construct the binary tree */
tree.root = new Node(1);
tree.root.left = new Node(2);
tree.root.right = new Node(3);
tree.root.left.left = new Node(4);
tree.root.left.right = new Node(5);
/* Perform in-order traversal */
System.out.print("In-order Traversal: ");
tree.inOrderTraversal(tree.root);
}
}
In the above example, we define a Node class to represent the nodes of the binary tree. We also define a BinaryTree class with an inOrderTraversal method that performs in-order traversal. The inOrderTraversal method takes a Node parameter and recursively traverses the left subtree, then prints the data of the current node, and finally recursively traverses the right subtree.
In the main method, we create a new binary tree and add some nodes to it. We then call the inOrderTraversal method on the root node of the tree to perform the in-order traversal. The output will be the values of the nodes in the binary tree in sorted order.
Output:
In-order Traversal: 4 2 5 1 3
