About Binary Search in Simple Terms

I'm Yaroslav. I really love tech, especially Java, and all things related to technology.
But I'm not just about coding – I'm also into creating my own brand and sharing bits of my life's adventures. Oh, and I'm a book enthusiast too!
What is Binary Search ?
It’s a way to find specific value in a sorted array. It’s a lot faster that just looking through every single element one by one.

Difference between Linear and Binary Search
How does it work ?
First, you pick the middle number of the list.
If the number you're looking for is higher than the middle number, you know it's in the right half of the list. So you repeat the process on the right half of the list.
If the number you're looking for is lower than the middle number, you know it's in the left half of the list. So you repeat the process on the left half of the list.
How to write code for that algorithm?
public int binarySearch(int[] array, int target) {
// Initialize low and high pointers
int low = 0;
int high = array.length - 1;
// Keep searching as long as low pointer is less than or equal to high pointer
while (left <= right) {
// Calculate middle index
int mid = low + ( high - low) / 2;
// Check if the middle element is equal to the target
if (array[mid] == target) {
return mid;
}
// If the middle element is less than the target, update low pointer to be one index to the high of the middle
if (array[mid] < target) {
low = mid + 1;
// If the middle element is greater than the target, update high pointer to be one index to the low of the middle
} else {
high = mid - 1;
}
}
return -1; // target not found
}
Code for Binary Search

Visualization of Binary Search




