Bird
Raised Fist0
DSA Javascriptprogramming~5 mins

Floor and Ceil in BST in DSA Javascript - 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 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
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
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
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
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
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

      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 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.
      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 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

      1. 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).
      2. 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.
      3. Final Answer:

        function findCeil(root, value) {} -> Option C
      4. 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

      1. 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.
      2. Step 2: Confirm no value closer to 14 exists

        15 is greater than 14, so not floor. 14 is not in BST.
      3. Final Answer:

        12 -> Option D
      4. 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

      1. Step 1: Analyze subtree traversal logic

        If root.val < value, ceil must be in right subtree, but code wrongly searches left subtree.
      2. Step 2: Check other parts

        Return -1 is acceptable as sentinel. Comparison and equality check are correct.
      3. Final Answer:

        It searches left subtree when root.val < value instead of right -> Option A
      4. 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

      1. Step 1: Find floor of 17

        Floor is greatest value ≤ 17. Values ≤ 17 are 8, 10, 12, 16. Largest is 16.
      2. Step 2: Find ceil of 17

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

        [16, 20] -> Option B
      4. Quick Check:

        Floor=16, Ceil=20 [OK]
      Hint: Floor ≤ value, ceil ≥ value, pick closest [OK]
      Common Mistakes:
      • Assuming floor or ceil equals value if not present
      • Choosing wrong subtree values
      • 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