0
0
Data Structures Theoryknowledge~20 mins

Searching in BST in Data Structures Theory - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
BST Search Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does searching work in a Binary Search Tree?

Imagine you want to find a number in a Binary Search Tree (BST). What is the main idea behind the search process?

ARandomly pick nodes and check if the number matches until found.
BStart at any leaf and move upwards comparing values until the number is found.
CStart at the root, compare the number, then go left if smaller or right if larger, repeating until found or no child exists.
DSearch all nodes in the tree one by one from left to right until the number is found.
Attempts:
2 left
💡 Hint

Think about how the BST organizes values to help find numbers quickly.

📋 Factual
intermediate
2:00remaining
What is the worst-case time complexity of searching in a BST?

Consider a Binary Search Tree with n nodes. What is the worst-case time complexity to search for a value?

AO(n), when the tree is skewed like a linked list.
BO(log n), always regardless of tree shape.
CO(1), because BSTs allow instant access.
DO(n log n), due to repeated comparisons.
Attempts:
2 left
💡 Hint

Think about what happens if the tree is not balanced.

🚀 Application
advanced
2:00remaining
Find the node in the BST after searching for 15

Given the BST below, what node will the search end on when looking for the value 15?

Tree structure (each node: value):

  • Root: 10
  • Left child of 10: 5
  • Right child of 10: 20
  • Left child of 20: 15
  • Right child of 20: 25
ANode with value 20
BNode with value 15
CNode with value 10
DNode with value 25
Attempts:
2 left
💡 Hint

Follow the BST search steps comparing 15 with each node value.

🔍 Analysis
advanced
2:00remaining
What happens if you search for a value not in the BST?

Consider searching for the value 13 in the BST below:

  • Root: 10
  • Left child of 10: 5
  • Right child of 10: 20
  • Left child of 20: 15
  • Right child of 20: 25

What is the result of the search?

AThe search loops infinitely because 13 is not found.
BThe search returns the root node 10 as the closest value.
CThe search returns the node with value 15 as the closest match.
DThe search ends at a leaf node where the value would be if it existed, confirming 13 is not in the tree.
Attempts:
2 left
💡 Hint

Think about how the search moves down the tree and what happens when it can't go further.

Reasoning
expert
2:00remaining
How does tree balance affect search efficiency in BST?

Why does balancing a BST improve the efficiency of searching compared to an unbalanced BST?

ABalancing keeps the tree height low, making the maximum search steps close to log(n), speeding up search.
BBalancing increases the number of nodes, so searching takes longer.
CBalancing removes nodes, so fewer values can be searched.
DBalancing changes the node values to be sorted in a list, not a tree.
Attempts:
2 left
💡 Hint

Consider how the height of the tree relates to the number of steps in searching.