
- C++ Basics
- C++ Home
- C++ Overview
- C++ Environment Setup
- C++ Basic Syntax
- C++ Comments
- C++ Data Types
- C++ Variable Types
- C++ Variable Scope
- C++ Constants/Literals
- C++ Modifier Types
- C++ Storage Classes
- C++ Operators
- C++ Loop Types
- C++ Decision Making
- C++ Functions
- C++ Numbers
- C++ Arrays
- C++ Strings
- C++ Pointers
- C++ References
- C++ Date & Time
- C++ Basic Input/Output
- C++ Data Structures
- C++ Object Oriented
- C++ Classes & Objects
- C++ Inheritance
- C++ Overloading
- C++ Polymorphism
- C++ Abstraction
- C++ Encapsulation
- C++ Interfaces
C++ Program to Compare Binary and Sequential Search
Binary Search and Sequential or Linear Search both are used in computer programming to search an element. The time complexity of Binary Search is O(log(n)) and Sequential Search is O(n).
Algorithm
Begin Algorithm for Binary Search: BinarySearch() function with ‘arr’ the array of data and ‘n’ the number of values, start and end index, iteration count and element to be searched in the argument list. Increment iteration counter and compare the item value with the a[mid]. If item < a[mid] choose first half otherwise second half to proceed further. Return iteration value on successful search. End
Example Code
#include<iostream> using namespace std; int BinarySearch(int a[], int start, int end, int item, int iter) { int i, mid; cout<<"\niteration "<<iter+1; iter++; mid = start + (end-start+1)/2; if(item > a[end] || item < a[start] || mid == end) { cout<<"\nNot found"; return iter; } else if(item == a[mid]) { cout<<"\n item found at "<<mid<<" index."; return iter; } else if(item == a[start]) { cout<<"\n item found at "<<start<<" index."; return iter; } else if(item == a[end]) { cout<<"\n item found at "<<end<<" index."; return iter; } else if(item > a[mid]) BinarySearch(a, mid, 9, item, iter); else BinarySearch(a, start, mid, item, iter); } int LinearSearch(int a[], int n, int item) { int i; for(i = 0; i < n; i++) { cout<<"\niteration "<<i+1; if(a[i] == item) { cout<<"\n item found at "<<i<<" index."; return i+1; } } cout<<"\nNot found"; } int main() { int n, i, B, L, a[10]={2, 7, 14, 24, 26, 35, 38, 41, 49, 53}; cout<<"\nEnter the element to be searched: "; cin>>n; cout<<"\n\n\t\t\tBinary Search :"; B = BinarySearch(a, 0, 9, n, 0); cout<<"\n\n\t\t\tLinear Search :"; L = LinearSearch(a, 10, n); if(L > B) cout<<"\n\nBinary search is better for this search."; else if(L < B) cout<<"\n\nLinear search is better for this search."; else cout<<"\n\nBoth are equally efficient for this search."; return 0; }
Output
Enter the element to be searched: 7 Binary Search : iteration 1 iteration 2 iteration 3 iteration 4 item found at 1 index. Linear Search : iteration 1 iteration 2 item found at 1 index. Linear search is better for this search. Enter the element to be searched: 53 Binary Search : iteration 1 item found at 9 index. Linear Search : iteration 1 iteration 2 iteration 3 iteration 4 iteration 5 iteration 6 iteration 7 iteration 8 iteration 9 iteration 10 item found at 9 index. Binary search is better for this search. Enter the element to be searched: 1 Binary Search : iteration 1 Not found Linear Search : iteration 1 iteration 2 iteration 3 iteration 4 iteration 5 iteration 6 iteration 7 iteration 8 iteration 9 iteration 10 Not found Binary search is better for this search.
- Related Articles
- Java program to implement binary search
- C++ Program to Perform Uniform Binary Search
- Python Program for Binary Search
- Binary Search in C++ program?
- Binary Search program in JavaScript
- 8085 program for Binary search
- C Program for Binary Search (Recursive and Iterative)?
- Binary Search (Recursive and Iterative) in C Program
- C++ Program to Implement Randomized Binary Search Tree
- Python Program to Implement Binary Search without Recursion
- Python Program to Implement Binary Search with Recursion
- Java Program for Binary Search (Recursive)
- C++ Program to Search for an Element in a Binary Search Tree
- Difference Between Linear Search and Binary Search
- Java Program to implement Binary Search on char array

Advertisements