0
0
DSA Typescriptprogramming~10 mins

Tree Traversal Inorder Left Root Right in DSA Typescript - Execution Trace

Choose your learning style9 modes available
Concept Flow - Tree Traversal Inorder Left Root Right
Start at root node
Traverse left subtree
Visit current node (root)
Traverse right subtree
End traversal
The traversal visits left subtree first, then the root node, then the right subtree recursively.
Execution Sample
DSA Typescript
function inorder(node) {
  if (!node) return;
  inorder(node.left);
  console.log(node.value);
  inorder(node.right);
}
This code prints the nodes of a binary tree in inorder: left child, root, then right child.
Execution Table
StepOperationNode VisitedPointer ChangesTree State (Visual)
1Start traversalA (root)Current = AA ├─ B └─ C
2Traverse left subtreeBCurrent = BA ├─ B └─ C
3Traverse left subtreeDCurrent = DA ├─ B │ ├─ D │ └─ E └─ C
4Traverse left subtreenullCurrent = nullA ├─ B │ ├─ D │ └─ E └─ C
5Visit nodeDPrint DA ├─ B │ ├─ D │ └─ E └─ C
6Traverse right subtreenullCurrent = nullA ├─ B │ ├─ D │ └─ E └─ C
7Return to parentBCurrent = BA ├─ B │ ├─ D │ └─ E └─ C
8Traverse right subtreeECurrent = EA ├─ B │ ├─ D │ └─ E └─ C
9Traverse left subtreenullCurrent = nullA ├─ B │ ├─ D │ └─ E └─ C
10Visit nodeEPrint EA ├─ B │ ├─ D │ └─ E └─ C
11Traverse right subtreenullCurrent = nullA ├─ B │ ├─ D │ └─ E └─ C
12Return to parentBCurrent = BA ├─ B │ ├─ D │ └─ E └─ C
13Return to parentACurrent = AA ├─ B │ ├─ D │ └─ E └─ C
14Visit nodeAPrint AA ├─ B │ ├─ D │ └─ E └─ C
15Traverse right subtreeCCurrent = CA ├─ B │ ├─ D │ └─ E └─ C
16Traverse left subtreenullCurrent = nullA ├─ B │ ├─ D │ └─ E └─ C
17Visit nodeCPrint CA ├─ B │ ├─ D │ └─ E └─ C
18Traverse right subtreenullCurrent = nullA ├─ B │ ├─ D │ └─ E └─ C
19End traversalnullTraversal completeA ├─ B │ ├─ D │ └─ E └─ C
💡 Traversal ends when all nodes have been visited in left-root-right order.
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 7After Step 13After Step 15Final
Current NodeABDBACnull
Printed Nodes[][][][D][D, B, E][D, B, E, A][D, B, E, A, C]
Key Moments - 3 Insights
Why do we visit the left subtree before printing the root node?
Because inorder traversal means visiting left child first, then root, then right child. See execution_table steps 2-5 where left subtree nodes are visited before printing root B at step 8.
What happens when the current node is null?
The traversal returns immediately without printing. This is shown in steps 4, 6, 9, 11, 16, and 18 where current node is null and traversal moves back up.
How do we know when traversal is complete?
When all nodes have been visited and returned from, current node becomes null at the top level (step 19). The exit_note confirms traversal ends after all nodes are printed.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what node is printed at step 10?
AD
BE
CB
DA
💡 Hint
Check the 'Operation' and 'Node Visited' columns at step 10 in execution_table.
At which step does the traversal return to the root node A after visiting left subtree?
AStep 7
BStep 15
CStep 13
DStep 19
💡 Hint
Look for 'Return to parent' operation with node A in execution_table.
If the left subtree of B was empty, how would the printed nodes order change?
AD would be missing, printed order starts with B
BE would be printed before B
CTraversal would print A before B
DNo change in printed order
💡 Hint
Refer to variable_tracker and execution_table steps 2-5 where left subtree nodes are printed before B.
Concept Snapshot
Inorder Tree Traversal:
- Visit left subtree recursively
- Visit root node
- Visit right subtree recursively
Print nodes in left-root-right order
Used for sorted output in BST
Base case: node is null, return immediately
Full Transcript
Inorder traversal visits nodes in the order left child, root, then right child. Starting at the root, it recursively visits the left subtree until it reaches a null node, then prints the current node's value, then recursively visits the right subtree. This process continues until all nodes are visited. The execution table shows each step, including visiting nodes, printing values, and returning when reaching null. The variable tracker shows how the current node pointer moves and which nodes are printed in order. Key moments clarify why left subtree is visited first, what happens at null nodes, and when traversal ends. The visual quiz tests understanding of printed nodes at specific steps and effects of subtree changes.