Skip to main content

Can you explain the time complexity of a binary search on a sorted array and why it is more efficient than a linear search?

The time complexity of binary search is O(log n) because it repeatedly divides the search interval in half. In contrast, linear search has a time complexity of O(n) as it…

CY
Can you explain the time complexity of a binary search on a sorted array and why it is more efficient than a linear search?

COVER // CAN YOU EXPLAIN THE TIME COMPLEXITY OF A BINARY SEARCH ON A SORTED ARRAY AND WHY IT IS MORE EFFICIENT THAN A LINEAR SEARCH?

The time complexity of binary search is O(log n) because it repeatedly divides the search interval in half. In contrast, linear search has a time complexity of O(n) as it scans each element one by one until the target is found or the end of the array is reached.

In depth

Binary search operates on a sorted array by comparing the target value to the middle element of the array. If the target is equal to the middle element, the search is complete. If the target is less, the search continues in the left half; if greater, it continues in the right half. This halving of the search space leads to a logarithmic time complexity, O(log n), because the number of elements to search through is reduced exponentially with each step. In contrast, linear search checks each element sequentially, resulting in O(n) time complexity, as every element must potentially be checked. Therefore, binary search is significantly more efficient for large datasets, provided the data is sorted beforehand.

Example scenario

In a production environment, consider an e-commerce application where users frequently search for products. When implementing a search function, using binary search on a pre-sorted list of product IDs can drastically reduce response times compared to a linear search, especially as the product catalog grows. For instance, searching for a specific product ID in a catalog of one million products with binary search would involve only about 20 comparisons, whereas a linear search could require up to one million comparisons in the worst case.

Common mistakes

One common mistake is to assume that binary search can be applied to unsorted data, which it cannot; the array must be sorted for binary search to work correctly. Another frequent error is misunderstanding how the logarithmic nature of binary search affects performance, leading to inflated expectations about its speed compared to linear search in smaller datasets, where linear search may actually perform well due to lower overhead.

Follow-up questions

  • What would happen if the array is not sorted before applying binary search?
  • Can you explain the space complexity of binary search?
  • How would you implement binary search in a real-world application?
  • What are some alternatives to binary search for different data structures?
System Design Interview Pack PDF cover
Interview Prep Pack · PDF

Preparing for a system design interview?

  • A 7-step method for answering any system design question, plus estimation numbers
  • 5 worked designs: URL shortener, rate limiter, chat, news feed and file storage
  • Guides to caching, databases, queues, consistency and reliability, with a 4-week study plan
  • 306 practice questions with answers on caching, databases, queues, microservices, APIs and more

5 worked designs, a 4-week plan and 306 practice questions with answers.

$3.99 one-time · instant email delivery
2,000 Interview Questions & Answers cover
Also available: 2,000 Interview Questions & Answers $7.99 The questions developers get asked in interviews, across 89 topics, with short answers, in-depth explanations, common mistakes and follow-ups. See what's inside →

The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.

Let's Talk

Have a Project in Mind?

Whether it's a software challenge, an AI integration, or a course enquiry — I'm always open to a real conversation.

hello@debasisbhattacharjee.com · +91 8777088548 · Mon–Fri, 9AM–6PM IST