What is the floor of a value in a Binary Search Tree (BST)?
The floor of a value in a BST is the greatest value in the BST that is less than or equal to the given value.
Click to reveal answer
beginner
What is the ceil of a value in a Binary Search Tree (BST)?
The ceil of a value in a BST is the smallest value in the BST that is greater than or equal to the given value.
Click to reveal answer
intermediate
How does the BST property help in finding floor and ceil efficiently?
Because in a BST, left child nodes are smaller and right child nodes are larger, we can decide to move left or right at each step to find floor or ceil without checking all nodes.
Click to reveal answer
beginner
In the BST floor search, if the current node's value is greater than the target, which subtree do we explore next?
We explore the left subtree because all values in the right subtree will be even greater, so they can't be floor if current node is already greater than target.
Click to reveal answer
beginner
In the BST ceil search, if the current node's value is less than the target, which subtree do we explore next?
We explore the right subtree because all values in the left subtree are smaller, so they can't be ceil if current node is already less than target.
Click to reveal answer
What does the floor of a value in a BST represent?
AThe largest value less than or equal to the target
BThe smallest value greater than or equal to the target
CThe root value of the BST
DThe smallest value in the BST
✗ Incorrect
Floor is the greatest value in the BST that is less than or equal to the target value.
If the current node's value is equal to the target, what is the floor and ceil?
AFloor and ceil do not exist
BFloor is left child, ceil is right child
CFloor is right child, ceil is left child
DFloor and ceil are both the current node's value
✗ Incorrect
If the node's value equals the target, both floor and ceil are that value.
When searching for ceil in BST, if current node's value is less than target, where do we go next?
ALeft subtree
BRight subtree
CStop search
DReturn current node
✗ Incorrect
We move to the right subtree to find a value greater than or equal to the target.
Which of these is true about floor and ceil in BST?
AFloor and ceil are always equal
BFloor is always greater than ceil
CFloor is always less than ceil or equal
DFloor and ceil do not depend on BST structure
✗ Incorrect
Floor is the greatest value less than or equal to target, ceil is the smallest value greater than or equal to target, so floor ≤ ceil.
If no value in BST is less than or equal to target, what is the floor?
ANull or no floor exists
BRoot value
CSmallest value in BST
DLargest value in BST
✗ Incorrect
If no value ≤ target exists, floor does not exist (null).
Explain how to find the floor of a given value in a BST step-by-step.
Think about how BST ordering helps decide which subtree to explore.
You got /6 concepts.
Describe the difference between floor and ceil in a BST with examples.
Use simple numbers to illustrate the difference.
You got /5 concepts.
Practice
(1/5)
1. What does the floor of a value in a Binary Search Tree (BST) represent?
easy
A. The greatest value in the BST less than or equal to the given value
B. The smallest value in the BST greater than or equal to the given value
C. The root value of the BST
D. The average of all values in the BST
Solution
Step 1: Understand the floor concept in BST
The floor of a value is the largest value in the BST that is less than or equal to the given value.
Step 2: Compare with other options
The smallest value in the BST greater than or equal to the given value describes the ceil, not the floor. Options C and D are unrelated to floor.
Final Answer:
The greatest value in the BST less than or equal to the given value -> Option A
Quick Check:
Floor = greatest ≤ value [OK]
Hint: Floor is largest value ≤ target in BST [OK]
Common Mistakes:
Confusing floor with ceil
Thinking floor is the smallest value
Assuming floor is always the root
2. Which of the following is the correct JavaScript function signature to find the ceil of a value in a BST?
easy
A. function ceilFind(value, root) {}
B. function findFloor(value) {}
C. function findCeil(root, value) {}
D. function ceil(root) {}
Solution
Step 1: Identify correct parameter order and naming
The function to find ceil should take the BST root and the target value as parameters, typically as (root, value).
Step 2: Check options for correct signature
function findCeil(root, value) {} matches this pattern. function ceilFind(value, root) {} reverses parameters, C is for floor and missing root, D misses value parameter.
Final Answer:
function findCeil(root, value) {} -> Option C
Quick Check:
Correct params: root, value [OK]
Hint: Function needs root and value parameters [OK]
Common Mistakes:
Swapping parameter order
Missing root or value parameter
Using wrong function name
3. Given the BST below and value = 14, what is the floor of 14?
15
/ \
10 20
/ \ \
8 12 25
medium
A. 15
B. 10
C. 14
D. 12
Solution
Step 1: Locate floor value in BST for 14
Floor is greatest value ≤ 14. Values ≤ 14 are 8, 10, 12. 12 is the greatest among these.
Step 2: Confirm no value closer to 14 exists
15 is greater than 14, so not floor. 14 is not in BST.
Final Answer:
12 -> Option D
Quick Check:
Floor(14) = 12 [OK]
Hint: Floor ≤ value, pick largest such node [OK]
Common Mistakes:
Choosing 15 which is > 14
Assuming floor must be exact value
Picking smaller values like 10 instead of 12
4. Consider this buggy JavaScript code to find ceil in BST:
function findCeil(root, value) {
if (!root) return -1;
if (root.val === value) return root.val;
if (root.val < value) return findCeil(root.right, value);
let ceil = findCeil(root.left, value);
return (ceil >= value) ? ceil : root.val;
}
What is the main error?
medium
A. It searches left subtree when root.val < value instead of right
B. It returns -1 when root is null instead of null
C. It compares ceil with value incorrectly
D. It does not handle root.val === value case
Solution
Step 1: Analyze subtree traversal logic
If root.val < value, ceil must be in right subtree, but code wrongly searches left subtree.
Step 2: Check other parts
Return -1 is acceptable as sentinel. Comparison and equality check are correct.
Final Answer:
It searches left subtree when root.val < value instead of right -> Option A
Quick Check:
Wrong subtree chosen for root.val < value [OK]
Hint: Go right if root.val < value for ceil [OK]
Common Mistakes:
Searching wrong subtree
Ignoring base case
Incorrect comparison logic
5. You want to find both floor and ceil of value 17 in this BST:
16
/ \
10 20
/ \ \
8 12 25
Which pair is correct?
hard
A. [16, 17]
B. [16, 20]
C. [17, 20]
D. [15, 20]
Solution
Step 1: Find floor of 17
Floor is greatest value ≤ 17. Values ≤ 17 are 8, 10, 12, 16. Largest is 16.
Step 2: Find ceil of 17
Ceil is smallest value ≥ 17. Values ≥ 17 are 20, 25. Smallest is 20.