Back to VisualizerO(n) Time & Space
Tree Traversals
Learn the four fundamental ways to traverse a binary tree: Inorder, Preorder, Postorder, and Level Order.
Speed:
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);
}
}