prep4place
Back to Visualizer

Tree Traversals

Learn the four fundamental ways to traverse a binary tree: Inorder, Preorder, Postorder, and Level Order.

O(n) Time & Space
Speed:
50302040706080
Unvisited
Processing
Current
Visited

Inorder Result

Click a traversal type to start

Traversal Types

Inorder
Order: Left → Root → Right
Use: BST: gives sorted order
Preorder
Order: Root → Left → Right
Use: Copy tree, prefix expression
Postorder
Order: Left → Right → Root
Use: Delete tree, postfix expression
Level Order
Order: Level by level (BFS)
Use: Find shortest path, level-wise processing

Code

// Inorder: Left → Root → Right
function inorder(node) {
  if (!node) return;
  inorder(node.left);
  console.log(node.value);
  inorder(node.right);
}

// Preorder: Root → Left → Right  
function preorder(node) {
  if (!node) return;
  console.log(node.value);
  preorder(node.left);
  preorder(node.right);
}

// Postorder: Left → Right → Root
function postorder(node) {
  if (!node) return;
  postorder(node.left);
  postorder(node.right);
  console.log(node.value);
}

// Level Order (BFS)
function levelOrder(root) {
  const queue = [root];
  while (queue.length) {
    const node = queue.shift();
    console.log(node.value);
    if (node.left) queue.push(node.left);
    if (node.right) queue.push(node.right);
  }
}