Bird
Raised Fist0
DSA Pythonprogramming~5 mins

Floor and Ceil in BST in DSA Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
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 BST nodes are ordered (left < root < right), we can decide to go left or right at each step to find floor or ceil without checking all nodes.
Click to reveal answer
beginner
If the BST contains the value exactly, what are the floor and ceil of that value?
Both floor and ceil are the value itself because it is equal to the given value.
Click to reveal answer
intermediate
What should be returned if there is no floor or no ceil for a given value in BST?
If no floor exists (all values are greater), return None or indicate no floor. Similarly, if no ceil exists (all values are smaller), return None or indicate no ceil.
Click to reveal answer
What is the floor of 15 in a BST containing values [10, 12, 14, 20, 25]?
A14
B15
C20
D12
What is the ceil of 13 in a BST containing values [10, 12, 14, 20, 25]?
A12
B13
C14
D20
If the BST has values [5, 10, 15] and you search for floor of 4, what should be the result?
ANone
B4
C5
D10
Which direction do you move in BST when searching for floor if current node value is greater than target?
AReturn current node
BGo right
CStop search
DGo left
If the target value is found in BST, what is the floor and ceil?
AFloor is smaller value, ceil is larger value
BBoth floor and ceil are the target value
CFloor is None, ceil is target value
DFloor is target value, ceil is None
Explain how to find the floor of a given value in a BST step-by-step.
Think about how BST ordering helps decide direction.
You got /6 concepts.
    Describe the difference between floor and ceil in a BST with examples.
    Use simple numbers to illustrate.
    You got /4 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

      1. 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.
      2. Step 2: Compare with other options

        The ceil is the smallest value greater than or equal to the given value, so The smallest value in the BST greater than or equal to the given value is incorrect. Options C and D do not relate to floor.
      3. Final Answer:

        The greatest value in the BST less than or equal to the given value -> Option A
      4. 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 Python function signature to find the ceil of a value in a BST node?
      easy
      A. def ceil_find(value, root):
      B. def find_ceil(root, value):
      C. def findCeil(value):
      D. def ceil(root):

      Solution

      1. Step 1: Check common parameter order for BST functions

        Functions usually take the root node first, then the value to search for.
      2. Step 2: Validate each option

        def find_ceil(root, value): matches this order and naming convention. Options B, C, and D either have wrong parameter order or missing parameters.
      3. Final Answer:

        def find_ceil(root, value): -> Option B
      4. Quick Check:

        Function(root, value) is standard [OK]
      Hint: Root node first, then value in function parameters [OK]
      Common Mistakes:
      • Swapping parameter order
      • Missing one parameter
      • Using unclear function names
      3. Given the BST below and value = 14, what is the floor of 14?
      
             15
            /  \
           10   20
          /  \    \
         8   12    25
      
      medium
      A. 14
      B. 15
      C. 12
      D. 10

      Solution

      1. Step 1: Locate values less than or equal to 14 in BST

        Values ≤ 14 are 10, 8, 12. 15 and above are greater.
      2. Step 2: Find the greatest among these

        The greatest value ≤ 14 is 12.
      3. Final Answer:

        12 -> Option C
      4. Quick Check:

        Floor(14) = 12 [OK]
      Hint: Floor ≤ value, pick largest from left subtree [OK]
      Common Mistakes:
      • Choosing 15 which is greater than 14
      • Assuming floor equals the value if not present
      • Picking smallest value instead of largest ≤ value
      4. Consider this buggy Python code to find ceil in BST:
      
      def find_ceil(root, value):
          if root is None:
              return None
          if root.val == value:
              return root.val
          if root.val < value:
              return find_ceil(root.right, value)
          else:
              ceil = find_ceil(root.left, value)
              return ceil if ceil is not None else root.val
      
      What is the main error?
      medium
      A. It should check for None before recursion
      B. It should return root.val when root.val == value
      C. It should recurse on root.right when root.val > value
      D. It should recurse on root.right when root.val < value

      Solution

      1. Step 1: Analyze recursion direction for ceil

        If root.val < value, ceil must be in right subtree, so recurse on root.right.
      2. Step 2: Identify incorrect recursion

        Code incorrectly recurses on root.left when root.val < value, which is wrong.
      3. Final Answer:

        It should recurse on root.right when root.val < value -> Option D
      4. Quick Check:

        Ceil search goes right if root.val < value [OK]
      Hint: Go right if node value < target for ceil [OK]
      Common Mistakes:
      • Recursing left instead of right
      • Confusing floor and ceil logic
      • Not handling None cases properly
      5. You have a BST with values [5, 10, 15, 20, 25]. You want to find the floor and ceil of 17. Which pair is correct?
      hard
      A. Floor = 15, Ceil = 20
      B. Floor = 20, Ceil = 25
      C. Floor = 10, Ceil = 15
      D. Floor = 17, Ceil = 17

      Solution

      1. Step 1: Identify floor of 17 in BST

        Floor is greatest value ≤ 17. Values ≤ 17 are 5, 10, 15. Greatest is 15.
      2. Step 2: Identify ceil of 17 in BST

        Ceil is smallest value ≥ 17. Values ≥ 17 are 20, 25. Smallest is 20.
      3. Final Answer:

        Floor = 15, Ceil = 20 -> Option A
      4. Quick Check:

        Floor ≤ 17 = 15, Ceil ≥ 17 = 20 [OK]
      Hint: Floor ≤ value, ceil ≥ value in sorted BST [OK]
      Common Mistakes:
      • Choosing floor or ceil outside BST values
      • Assuming floor or ceil equals the value if not present
      • Mixing floor and ceil values
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard