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

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:

Example of Tree Traversal in java

Tree Traversal Inorder Preorder Postorder in Java

Algorithm to Find Inorder Traversal

 Algorithm for inorder(tree)

  1.   Recursively traverse left subtree.
  2.   Visit root node.
  3.   Recursively traverse right subtree.

Algorithm to find preorder traversal ​


Algorithm  for preorder(Tree):

  1. Visit root node.
  2. Recursively traverse left subtree.
  3. Recursively traverse right subtree.

Algorithm to find Postorder traversal​

Algorithm for postorder(Tree):

  1. Recursively traverse left sub-tree.
  2. Recursively traverse right sub-tree.
  3. 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

Run
// 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

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:

  1. Always remember traversal patterns:
    • Inorder → LNR

    • Preorder → NLR

    • Postorder → LRN

  2. Inorder traversal of a Binary Search Tree (BST) produces sorted output.

  3. Preorder is useful for tree copying.

  4. 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

Checkout list of all the video courses in PrepInsta Prime Subscription

Checkout list of all the video courses in PrepInsta Prime Subscription