Binary Searchtech
Binary Searchtech
Largest
⇧ SCROLL TO TOP Collection of Wa…
Learn More
Binary search follows divide and conquer approach in which, the list is divided into two halves and
the item is compared with the middle element of the list. If the match is found then, the location
of middle element is returned otherwise, we search into either of the halves depending upon the
result produced through the match.
Step 5: IF POS = -1
PRINT "VALUE IS NOT PRESENT IN THE ARRAY"
[END OF IF]
Step 6: EXIT
Complexity
SN Performance Complexity
Example
⇧ SCROLL TO TOP
Get Top Brands At Upto 80% Off
Myntra
Let us consider an array arr = {1, 5, 7, 8, 13, 19, 20, 23, 29}. Find the location of the item 23 in the
array.
In 1st step :
BEG = 0
END = 8ron
MID = 4
a[mid] = a[4] = 13 < 23, therefore
in Second step:
⇧ SCROLL TO TOP
Get Top Brands At Upto 80% Off
Myntra
Beg = mid +1 = 5
End = 8
mid = 13/2 = 6
a[mid] = a[6] = 20 < 23, therefore;
in third step:
beg = mid + 1 = 7
End = 8
mid = 15/2 = 7
a[mid] = a[7]
a[7] = 23 = item;
therefore, set location = mid;
The location of the item will be 7.
⇧ SCROLL TO TOP
Binary Search Program using Recursion
C program
⇧ SCROLL TO TOP
Get Top Brands At Upto 80% Off
Myntra
#include<stdio.h>
int binarySearch(int[], int, int, int);
void main ()
{
int arr[10] = {16, 19, 20, 23, 45, 56, 78, 90, 96, 100};
int item, location=-1;
printf("Enter the item which you want to search ");
scanf("%d",&item);
location = binarySearch(arr, 0, 9, item);
if(location != -1)
{
printf("Item found at location %d",location);
}
else
{
printf("Item not found");
}
}
int binarySearch(int a[], int beg, int end, int item)
{
⇧ SCROLL TO TOP
int mid;
if(end >= beg)
{
mid = (beg + end)/2;
if(a[mid] == item)
{
return mid+1;
}
else if(a[mid] < item)
{
return binarySearch(a,mid+1,end,item);
}
else
{
return binarySearch(a,beg,mid-1,item);
}
}
return -1;
}
Output:
Java
import java.util.*;
public class BinarySearch {
public static void main(String[] args) {
int[] arr = {16, 19, 20, 23, 45, 56, 78, 90, 96, 100};
int item, location = -1;
System.out.println("Enter the item which you want to search");
Scanner sc = new Scanner(System.in);
item = sc.nextInt();
location = binarySearch(arr,0,9,item);
if(location != -1)
System.out.println("the location of the item is "+location);
else
System.out.println("Item not found");
}
public static int binarySearch(int[] a, int beg, int end, int item)
{
int mid;
if(end >= beg)
{
mid = (beg + end)/2;
if(a[mid] == item)
{
return mid+1;
}
else if(a[mid] < item)
{
⇧ SCROLL
return binarySearch(a,mid+1,end,item);
TO TOP
}
else
{
return binarySearch(a,beg,mid-1,item);
}
}
return -1;
}
}
Output:
C#
using System;
public class LinearSearch
{
public static void Main()
⇧ SCROLL TO TOP
{
int[] arr = {16, 19, 20, 23, 45, 56, 78, 90, 96, 100};
int location=-1;
Console.WriteLine("Enter the item which you want to search ");
int item = Convert.ToInt32(Console.ReadLine());
location = binarySearch(arr, 0, 9, item);
if(location != -1)
{
Console.WriteLine("Item found at location "+ location);
}
else
{
Console.WriteLine("Item not found");
}
}
public static int binarySearch(int[] a, int beg, int end, int item)
{
int mid;
if(end >= beg)
{
mid = (beg + end)/2;
if(a[mid] == item)
{
return mid+1;
}
else if(a[mid] < item)
{
return binarySearch(a,mid+1,end,item);
}
else
{
return binarySearch(a,beg,mid-1,item);
} TO TOP
⇧ SCROLL
}
return -1;
}
}
Output:
Python
def binarySearch(arr,beg,end,item):
if end >= beg:
mid = int((beg+end)/2)
if arr[mid] == item :
return mid+1
elif arr[mid] < item :
return binarySearch(arr,mid+1,end,item)
else:
return binarySearch(arr,beg,mid-1,item)
return -1
arr=[16, 19, 20, 23, 45, 56, 78, 90, 96, 100];
item = int(input("Enter the item which you want to search ?"))
location = -1;
location = binarySearch(arr,0,9,item);
if location != -1:
print("Item found at location %d" %(location))
⇧ SCROLL TO TOP
else:
print("Item not found")
Output:
int binarySearch(int a[], int beg, int end, int item)
{
int mid;
while(end >= beg)
{
mid = (beg + end)/2;
if(a[mid] == item)
{
return mid+1;
}
else if(a[mid] < item)
{
beg = mid + 1;
}
else
{
end = mid - 1;
}
⇧ SCROLL TO TOP
}
return -1;
}
← Prev Next →
Feedback
Preparation
Company
Interview
Questions
Company
Questions
⇧ SCROLL TO TOP
Trending Technologies
Artificial AWS Tutorial Selenium Cloud
Intelligence AWS
tutorial Computing
Tutorial Selenium
tutorial
Artificial Cloud Computing
Intelligence
B.Tech / MCA
⇧ SCROLL TO TOP