What is the order of nodes visited in an inorder tree traversal?
Inorder traversal visits nodes in the order: Left subtree, then Root node, then Right subtree.
Click to reveal answer
beginner
Why is inorder traversal useful for binary search trees (BST)?
Inorder traversal of a BST visits nodes in ascending sorted order because it visits left (smaller), root, then right (larger).
Click to reveal answer
beginner
What is the base case in a recursive inorder traversal function?
The base case is when the current node is null (no node), then the function returns without doing anything.
Click to reveal answer
beginner
Given the tree: 1 / \ 2 3 What is the inorder traversal output?
The inorder traversal visits left (2), root (1), right (3). So the output is: 2 -> 1 -> 3
Click to reveal answer
beginner
Show the recursive steps for inorder traversal on a node.
1. Traverse left subtree recursively. 2. Visit the root node (process or print it). 3. Traverse right subtree recursively.
Click to reveal answer
In inorder traversal, which node is visited first?
ALeft child
BRoot node
CRight child
DNone
✗ Incorrect
Inorder traversal always visits the left subtree first before the root.
What is the inorder traversal output of a BST with nodes 2, 1, 3?
A3 -> 2 -> 1
B2 -> 1 -> 3
C1 -> 2 -> 3
D1 -> 3 -> 2
✗ Incorrect
Inorder traversal of BST visits nodes in ascending order: 1, 2, 3.
What happens when the inorder traversal function reaches a null node?
AIt stops and returns
BIt throws an error
CIt visits the null node
DIt skips the right subtree
✗ Incorrect
The base case for recursion is when the node is null, so the function returns immediately.
Which traversal order is correct for inorder?
ALeft, Right, Root
BRoot, Left, Right
CRight, Root, Left
DLeft, Root, Right
✗ Incorrect
Inorder traversal visits left subtree first, then root, then right subtree.
In inorder traversal, when do we visit the root node?
ABefore left subtree
BBetween left and right subtree
CNever
DAfter right subtree
✗ Incorrect
The root node is visited after the left subtree and before the right subtree.
Explain the steps of inorder traversal on a binary tree node.
Think about the order: left, root, right.
You got /4 concepts.
Why does inorder traversal produce sorted output for a binary search tree?
Consider how BST nodes are arranged.
You got /5 concepts.
Practice
(1/5)
1. What is the order of nodes visited in an inorder traversal of a binary tree?
easy
A. Root, Right subtree, Left subtree
B. Left subtree, Root, Right subtree
C. Right subtree, Root, Left subtree
D. Root, Left subtree, Right subtree
Solution
Step 1: Understand inorder traversal definition
Inorder traversal visits nodes in the order: left subtree first, then the root node, and finally the right subtree.
Step 2: Match the traversal order to options
Left subtree, Root, Right subtree correctly states the order as Left subtree, Root, Right subtree.
Final Answer:
Left subtree, Root, Right subtree -> Option B
Quick Check:
Inorder = Left, Root, Right [OK]
Hint: Inorder always visits left child before root [OK]
Common Mistakes:
Confusing inorder with preorder or postorder
Visiting root before left subtree
Visiting right subtree before root
2. Which of the following is the correct JavaScript function signature for inorder traversal of a binary tree node named node?
easy
A. function inorder(node) { inorder(node.right); console.log(node.value); inorder(node.left); }
B. function inorder(node) { console.log(node.value); inorder(node.left); inorder(node.right); }
C. function inorder(node) { if(node) { inorder(node.left); console.log(node.value); inorder(node.right); } }
D. function inorder(node) { inorder(node.left); inorder(node.right); console.log(node.value); }
Solution
Step 1: Recall inorder traversal steps in code
Inorder traversal visits left subtree, then root, then right subtree. So the function must call inorder on left, print root, then call inorder on right.
Step 2: Check each option's order
function inorder(node) { if(node) { inorder(node.left); console.log(node.value); inorder(node.right); } } matches the correct order: left, root (console.log), right. Others have wrong orders.
Final Answer:
function inorder(node) { if(node) { inorder(node.left); console.log(node.value); inorder(node.right); } } -> Option C
Quick Check:
Left, Root, Right in code = function inorder(node) { if(node) { inorder(node.left); console.log(node.value); inorder(node.right); } } [OK]
Hint: Inorder prints after left call, before right call [OK]
Common Mistakes:
Printing before left subtree traversal
Swapping left and right subtree calls
Missing null check for node
3. Given the binary tree below, what is the output of inorder traversal?
10
/ \
5 15
/ / \
3 12 20
medium
A. [3, 5, 10, 12, 15, 20]
B. [10, 5, 3, 15, 12, 20]
C. [3, 5, 12, 10, 15, 20]
D. [5, 3, 10, 15, 12, 20]
Solution
Step 1: Traverse left subtree of root 10
Left subtree of 10 is rooted at 5. Its left child is 3. Inorder of left subtree: visit 3, then 5 (root of subtree).
Step 2: Visit root 10 and then right subtree
After left subtree, visit root 10. Then traverse right subtree rooted at 15: left child 12, root 15, right child 20. So inorder right subtree is 12, 15, 20.
Final Answer:
[3, 5, 10, 12, 15, 20] -> Option A
Quick Check:
Inorder = Left, Root, Right = [3,5,10,12,15,20] [OK]
Hint: List nodes left-root-right recursively [OK]
Common Mistakes:
Visiting root before left subtree
Mixing order of right subtree nodes
Skipping leaf nodes
4. The following JavaScript code is intended to perform inorder traversal but has a bug. What is the bug?
function inorder(node) {
if (node === null) return;
console.log(node.value);
inorder(node.left);
inorder(node.right);
}
medium
A. It prints the root before left subtree, so not inorder
B. It does not check for null nodes
C. It misses traversing the right subtree
D. It calls inorder on left and right in wrong order
Solution
Step 1: Analyze the order of operations in code
The code prints node.value first, then calls inorder on left and right. This is preorder traversal order.
Step 2: Identify correct inorder order
Inorder traversal requires visiting left subtree first, then printing root, then right subtree. The code prints root before left subtree, which is incorrect.
Final Answer:
It prints the root before left subtree, so not inorder -> Option A
Quick Check:
Print after left call for inorder [OK]
Hint: Print after left subtree call for inorder [OK]
Common Mistakes:
Printing root before left subtree
Confusing preorder with inorder
Not checking for null nodes (though code does here)
5. You have a binary search tree (BST) and want to get all values in ascending order using inorder traversal. Which of the following modifications to the inorder traversal function will correctly collect values into an array instead of printing them?
function inorder(node, arr) {
if (!node) return;
// Fill missing code here
}
hard
A. inorder(node.left, arr); inorder(node.right, arr); arr.push(node.value);
B. arr.push(node.value); inorder(node.left, arr); inorder(node.right, arr);
C. inorder(node.right, arr); arr.push(node.value); inorder(node.left, arr);
D. inorder(node.left, arr); arr.push(node.value); inorder(node.right, arr);
Solution
Step 1: Recall inorder traversal order for BST
Inorder traversal visits left subtree, then root, then right subtree, which returns values in ascending order for BST.
Step 2: Choose code that collects values in correct order
inorder(node.left, arr); arr.push(node.value); inorder(node.right, arr); calls inorder on left, then pushes current node value, then calls inorder on right, correctly collecting values in ascending order.
Final Answer:
inorder(node.left, arr); arr.push(node.value); inorder(node.right, arr); -> Option D
Quick Check:
Left, Root, Right with push = inorder(node.left, arr); arr.push(node.value); inorder(node.right, arr); [OK]
Hint: Push after left call, before right call for sorted array [OK]
Common Mistakes:
Pushing before left subtree traversal
Swapping left and right subtree calls
Pushing after both subtree traversals
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.