Binary Search DSA ka ek bahut hi important searching algorithm hai jo specially sorted arrays par kaam karta hai. Agar aap DSA roadmap for beginners follow kar rahe hain, to binary search samajhna zaroori hai kyunki ye efficient searching ka best example hai.
Linear search me hume har element check karna padta hai, lekin binary search me hum har step me data ko half kar dete hain, jis wajah se ye bahut fast hota hai. Isi wajah se binary search interviews me frequently poocha jata hai.
Binary Search ek algorithm hai jo sorted list me kisi element ko efficiently search karta hai.
Iska basic idea:
👉 Har step me array ko do parts me divide karo
Binary Search kya hota hai
Kaise kaam karta hai (step-by-step)
Iterative & Recursive approach
Real-life example
C++ implementation
Practice questions
Binary search apply karne ke liye:
Array sorted hona chahiye
Indexing available honi chahiye
👉 Agar array sorted nahi hai to pehle sorting karni padegi
Maan lo array hai:
[1, 2, 3, 4, 5, 6, 7]
Search karna hai: 5
Middle element = 4
👉 5 > 4 → right side jao
New array = [5, 6, 7]
Middle = 6
👉 5 < 6 → left side jao
Element = 5 → found
👉 Isi tarah binary search kaam karta hai
#include <stdio.h>
int binarySearch(int arr[], int n, int key){
int low = 0, high = n - 1;
while(low <= high){
int mid = (low + high) / 2;
if(arr[mid] == key)
return mid;
else if(arr[mid] < key)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
int main(){
int arr[] = {1,2,3,4,5,6,7};
int result = binarySearch(arr, 7, 5);
printf("%d", result);
return 0;
}
#include <iostream>
using namespace std;
int binarySearch(int arr[], int n, int target) {
int low = 0, high = n - 1;
while (low <= high) {
int mid = low + (high - low) / 2;
if (arr[mid] == target)
return mid;
else if (arr[mid] < target)
low = mid + 1;
else
high = mid - 1;
}
return -1;
}
int main() {
int arr[] = {10, 20, 30, 40, 50};
int n = 5;
int result = binarySearch(arr, n, 30);
if (result != -1)
cout << "Element found at index: " << result;
else
cout << "Element not found";
return 0;
}
int binarySearchRecursive(int arr[], int low, int high, int target) {
if (low > high)
return -1;
int mid = low + (high - low) / 2;
if (arr[mid] == target)
return mid;
else if (arr[mid] > target)
return binarySearchRecursive(arr, low, mid - 1, target);
else
return binarySearchRecursive(arr, mid + 1, high, target);
}👉 Output: Index of element
Case Complexity
Best Case O(1)
Average Case O(log n)
Worst Case O(log n)
👉 Binary search ka sabse bada advantage yehi hai ki ye fast hota hai
Searching in large datasets
Database indexing
Competitive programming
Interview questions
Fast searching
Efficient for large data
Easy to implement
Sorted data required
Linked list me efficient nahi
Random access required
Unsorted array me binary search lagana
Mid calculation galat karna
Infinite loop create karna
👉 Tip: Always dry run karo
Concept clear karo
Iterative aur recursive dono samjho
Practice karo (10–20 questions)
Edge cases samjho
👉 Ye sab topics milkar aapki DSA strong banate hain
Binary search ek efficient aur powerful algorithm hai jo aapko fast searching sikhata hai. Agar aap DSA roadmap follow kar rahe hain to ye topic aapke liye must-learn hai.
Regular practice aur concept clarity ke saath aap binary search me strong ban sakte hain aur coding interviews ke liye prepare ho sakte hain.
👉 Complete Roadmap:
https://sites.google.com/view/dsarop/
👉 Next Topic: Recursion In C