Tree Traversal : Inorder Preorder Postorder in Java
Tree Traversal Inorder Preorder Postorder
Tree Traversal Inorder Preorder Postorder in Java explains how to visit or process all nodes of a binary tree in different orders. Tree traversal is a fundamental concept in data structures because trees do not follow a single linear structure like arrays or linked lists.
Tree traversal means visiting every node of a tree exactly once in a specific order.
Tree Traversal : Inorder Preorder Postorder in Java
Tree traversal is a process of visiting all the nodes in a tree data structure in a particular order. Tree traversal is used in many applications, including searching, sorting, and evaluating expressions.
It is a fundamental concept in computer science and is essential for understanding and implementing various algorithms and data structures
Example of Tree Traversal:
Tree Traversal Inorder Preorder Postorder in Java
Algorithm to Find Inorder Traversal
Algorithm for inorder(tree)
- Recursively traverse left subtree.
- Visit root node.
- Recursively traverse right subtree.
Algorithm to find preorder traversal
Algorithm for preorder(Tree):
- Visit root node.
- Recursively traverse left subtree.
- Recursively traverse right subtree.
Algorithm to find Postorder traversal
Algorithm for postorder(Tree):
- Recursively traverse left sub-tree.
- Recursively traverse right sub-tree.
- Visit root node.
Learn DSA
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
Java Code for Tree Traversal Inorder Preorder Postorder
// Node class represents each node in the binary tree
class Node {
int key;
Node left, right;
Node(int item) {
key = item;
left = right = null;
}
}
// BinaryTree class contains traversal methods
class BinaryTree {
Node root;
BinaryTree() {
root = null;
}
// Preorder Traversal (Root → Left → Right)
void preorder(Node node) {
if (node == null)
return;
System.out.print(node.key + " ");
preorder(node.left);
preorder(node.right);
}
// Inorder Traversal (Left → Root → Right)
void inorder(Node node) {
if (node == null)
return;
inorder(node.left);
System.out.print(node.key + " ");
inorder(node.right);
}
// Postorder Traversal (Left → Right → Root)
void postorder(Node node) {
if (node == null)
return;
postorder(node.left);
postorder(node.right);
System.out.print(node.key + " ");
}
}
public class Main {
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
// Creating 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);
// Traversals
System.out.print("Preorder Traversal: ");
tree.preorder(tree.root);
System.out.print("\nInorder Traversal: ");
tree.inorder(tree.root);
System.out.print("\nPostorder Traversal: ");
tree.postorder(tree.root);
}
}
Output :
Preorder Traversal: 1 2 4 5 3 Inorder Traversal: 4 2 5 1 3 Postorder Traversal: 4 5 2 3 1
Where n = number of nodes in the binary tree.
Space Complexity: O(h)
where, h = height of the binary tree
Applications of Tree Traversal
Tree traversal methods are used in many applications:
- Expression tree evaluation
- Syntax tree processing
- Tree cloning
- Binary search tree operations
- File system hierarchy traversal
- Prefix and postfix expression generation
Preorder can generate prefix expressions, while postorder can generate postfix expressions from expression trees.
Note:
- Always remember traversal patterns:
Inorder → LNR
Preorder → NLR
Postorder → LRN
Inorder traversal of a Binary Search Tree (BST) produces sorted output.
Preorder is useful for tree copying.
Postorder is useful for tree deletion.
Frequently Asked Questions
Answer:
Tree traversal is the process of visiting all nodes of a tree in a specific order.
Answer:
The three main types are:
- Inorder
- Preorder
- Postorder
Answer:
All three traversals take O(n) time because every node is visited once.
Answer:
Inorder traversal of a Binary Search Tree returns nodes in sorted order.
Answer:
Preorder traversal is commonly used to copy or serialize a tree.
Get over 200+ course One Subscription
Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Login/Signup to comment