DSA Pre-order Traversal

DSA Tutorial

DSA Pre-order Traversal – Complete Beginner Guide

(Concept • Steps • Example • Code • Complexity)

Pre-order Traversal is one of the Depth-First Search (DFS) techniques used to traverse a Binary Tree.


1️⃣ What is Pre-order Traversal?

In Pre-order Traversal, nodes are visited in this order:

Root → Left → Right

 The root node is visited first, before its children.


2️⃣ Simple Rule to Remember

PRE = ROOT comes PRE (first)

Or simply:

RootLeft SubtreeRight Subtree

3️⃣ Pre-order Traversal – Step by Step

Example Binary Tree

Traversal Order

  1. Visit 1 (root)

  2. Go left → 2

  3. Go left → 4

  4. Back → 5

  5. Go right → 3

 Output

1 2 4 5 3

4️⃣ Pre-order Traversal Algorithm

  1. Visit the root node

  2. Traverse the left subtree

  3. Traverse the right subtree


5️⃣ Pseudocode

Preorder(node):
if node == NULL:
return
print(node.data)
Preorder(node.left)
Preorder(node.right)

6️⃣ Pre-order Traversal – Recursive Code (C++)


 


7️⃣ Complete Example Program (C++)


 

Output

1 2 4 5 3

8️⃣ Iterative Pre-order Traversal (Using Stack)


 


9️⃣ Time & Space Complexity

 Time Complexity

O(n) // visits each node once

 Space Complexity

  • Recursive: O(h) (height of tree)

  • Iterative: O(h) (stack)


🔟 Where is Pre-order Traversal Used?

✔ Copying a tree
✔ Creating expression trees
✔ Prefix expressions
✔ Serialization of trees
✔ DFS-based algorithms


1️⃣1️⃣ Pre-order vs Inorder vs Postorder

Traversal Order
Pre-order Root → Left → Right
Inorder Left → Root → Right
Postorder Left → Right → Root

 Interview Questions (Pre-order)

Q1. Why root is visiting first in pre-order?
👉 That’s the definition of pre-order traversal

Q2. Can pre-order be done without recursion?
👉 Yes, using a stack

Q3. Time complexity of pre-order traversal?
👉 O(n)


Final Summary

✔ Pre-order traversal visits root first
✔ Order: Root → Left → Right
✔ Implemented using recursion or stack
✔ Time complexity: O(n)
✔ Very common in tree-based interview questions

You may also like...