- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Binary Searchn
When the list is sorted we can use the binary search technique to find items on the list. In this procedure, the entire list is divided into two sub-lists. If the item is found in the middle position, it returns the location, otherwise jumps to either left or right sub-list and do the same process again until finding the item or exceed the range.
The complexity of Binary Search Technique
- Time Complexity: O(1) for the best case. O(log2 n) for average or worst case.
- Space Complexity: O(1)
Input and Output
Input: A sorted list of data: 12 25 48 52 67 79 88 93 The search key 79 Output: Item found at location: 5
Algorithm
binarySearch(array, start, end, key)
Input − An sorted array, start and end location, and the search key
Output − location of the key (if found), otherwise wrong location.
Begin if start <= end then mid := start + (end - start) /2 if array[mid] = key then return mid location if array[mid] > key then call binarySearch(array, mid+1, end, key) else when array[mid] < key then call binarySearch(array, start, mid-1, key) else return invalid location End
Example
#include<iostream> using namespace std; int binarySearch(int array[], int start, int end, int key) { if(start <= end) { int mid = (start + (end - start) /2); //mid location of the list if(array[mid] == key) return mid; if(array[mid] > key) return binarySearch(array, start, mid-1, key); return binarySearch(array, mid+1, end, key); } return -1; } int main() { int n, searchKey, loc; cout << "Enter number of items: "; cin >> n; int arr[n]; //create an array of size n cout << "Enter items: " << endl; for(int i = 0; i< n; i++) { cin >> arr[i]; } cout << "Enter search key to search in the list: "; cin >> searchKey; if((loc = binarySearch(arr, 0, n, searchKey)) >= 0) cout << "Item found at location: " << loc << endl; else cout << "Item is not found in the list." << endl; }
Output
Enter number of items: 8 Enter items: 12 25 48 52 67 79 88 93 Enter search key to search in the list: 79 Item found at location: 5
- Related Articles
- Difference Between Linear Search and Binary Search
- Binary Search in C++
- Binary search in Java.
- Optimal Binary Search Tree
- Binary search in C#
- Multidimensional Binary Search Trees
- Difference between Binary Tree and Binary Search Tree
- Python Program for Binary Search
- Binary Search in C++ program?
- Binary Search program in JavaScript
- Binary Search Tree in Javascript
- 8085 program for Binary search
- Binary Search (bisect) in Python
- Explain Binary Search in Python
- Binary Search Tree - Search and Insertion Operations in C++

Advertisements