Question

    Which of the following is NOT true about binary

    search ?
    A It requires the array to be sorted. Correct Answer Incorrect Answer
    B The time complexity in the worst case is O(n). Correct Answer Incorrect Answer
    C The search space is halved after each comparison. Correct Answer Incorrect Answer
    D It is implemented using recursion or iteration. Correct Answer Incorrect Answer
    E It works for both numerical and string data. Correct Answer Incorrect Answer

    Solution

    Binary search is an efficient searching algorithm designed to find an element in a sorted array. Its time complexity in the worst case is O(log⁡n), not O(n), making option 2 incorrect. The process involves dividing the search space into two halves after every comparison. Binary search operates under the condition that the array is sorted. If not, it leads to undefined behavior or incorrect results. Option 1 is correct because the algorithm strictly requires a sorted array. The halving of the search space ensures logarithmic complexity, and this property is central to binary search, making option 3 valid. Binary search can be implemented both iteratively and recursively, which provides flexibility in practical applications, making option 4 correct. Additionally, the algorithm can handle various data types, including strings, as long as the data is comparable, confirming the correctness of option 5. The claim in option 2, that the time complexity is O(n), reflects a misunderstanding of how binary search reduces the problem size. O(n) is the complexity of linear search, which scans every element. Binary search leverages the sorted nature of data to skip unnecessary comparisons, making it much faster. Even in the worst case, where the element might not exist, the logarithmic reduction persists. Why Other Options Are Incorrect? 1. Requires a sorted array: True, as binary search is based on comparisons against the middle element in a sorted order. Unsorted arrays invalidate the algorithm's assumptions. 2.Halves search space after each comparison: Accurate. This halving mechanism is the foundation of binary search, reducing complexity to O(log⁡n). 3. Implemented using recursion or iteration: Correct, as both methods achieve the same goal with slight differences in implementation details. 4. Works for numerical and string data: Valid, as long as the data has a natural ordering or a comparator function is defined.

    Practice Next