0
0
DSA Javascriptprogramming~3 mins

Why Binary Search and What Sorted Order Gives You in DSA Javascript - The Real Reason

Choose your learning style9 modes available
The Big Idea

What if you could find anything in a huge list in just a few steps instead of searching forever?

The Scenario

Imagine you have a huge phone book with thousands of names, and you want to find a friend's phone number.

If you look at each name one by one from the start, it will take a very long time.

The Problem

Searching one by one is slow and tiring.

It's easy to lose track or make mistakes.

When the list is very long, this method wastes a lot of time.

The Solution

Binary Search uses the fact that the list is sorted to quickly find the name.

It looks at the middle name, then decides if the friend's name is before or after it, cutting the search area in half each time.

This way, it finds the name much faster and with fewer mistakes.

Before vs After
Before
function findName(names, target) {
  for (let i = 0; i < names.length; i++) {
    if (names[i] === target) return i;
  }
  return -1;
}
After
function binarySearch(names, target) {
  let left = 0, right = names.length - 1;
  while (left <= right) {
    let mid = Math.floor((left + right) / 2);
    if (names[mid] === target) return mid;
    else if (names[mid] < target) left = mid + 1;
    else right = mid - 1;
  }
  return -1;
}
What It Enables

It enables lightning-fast searching in large sorted lists, saving time and effort.

Real Life Example

When you search for a word in a dictionary app, it uses binary search behind the scenes to find your word instantly.

Key Takeaways

Manual search is slow and error-prone for big lists.

Sorted order lets us use binary search to cut search time drastically.

Binary search is a smart way to find items quickly by dividing the search area.