0% found this document useful (0 votes)
38 views

Binarysearch

Binary search is an algorithm for finding the position of a target value within a sorted array. It is faster than linear search because it eliminates about half of the remaining items from consideration with each comparison, resulting in O(log n) performance compared to linear search's O(n) performance. The binary search algorithm works by comparing the target value to the middle element of the array, eliminating half of the array as possible matches, and then searching the remaining half, repeating until the target is found or the array is exhausted.

Uploaded by

Lovedeep kaur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Binarysearch

Binary search is an algorithm for finding the position of a target value within a sorted array. It is faster than linear search because it eliminates about half of the remaining items from consideration with each comparison, resulting in O(log n) performance compared to linear search's O(n) performance. The binary search algorithm works by comparing the target value to the middle element of the array, eliminating half of the array as possible matches, and then searching the remaining half, repeating until the target is found or the array is exhausted.

Uploaded by

Lovedeep kaur
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

BINARY

SEARC
H
INTODUCTION
A Binary search algorithm finds the position of a specified input value
(the search "key") within a sorted array . For binary search, the array
should be arranged in ascending or descending order.

W h y B i n a r y Search Is
B e t t e r T h a n L i n e a r Search
?
A linear search works by looking at each element in a list of data
until it either finds the target or reaches the end. This results in
O(n) performance on a given list. A binary search comes with the
prerequisite that the data must be sorted. We can use this
information to decrease the number of items we need to look at to
find our target. That is ,

Binary Search is fast as compared to linear search because of


less number of computational operations .
BINARY SEARCH ALGORITHM
Algorithm is quite simple. It can be done either recursively or
iteratively:

 Get the middle element;


 If the middle element equals to the searched value, the algorithm
stops;
 Otherwise, two cases are possible:
 Searched value is less, than the middle element. In this case, go to
the step 1 for the part of the array, before middle element.
 Searched value is greater, than the middle element. In this case,
go
to the step 1 for the part of the array, after middle element.
 Now, The iterations should stop when searched element is found &
when sub array has no elements. In this case, we can conclude,
that searched value is not present in the array.
Example :
Step 1 :
Step 2:
Step 3:
ALGORITHM (Recursive)
recursivebinarysearch(int A[], int first, int last, int key)
if last<first
index=-
1
else
int mid = (first + last) / 2
if key=A[mid]
index=mid
else if key<A[mid]
index= recursivebinarysearch(A, first, mid – 1,
key) else
index= recursivebinarysearch(A, mid + 1, last,
key)
return index
ANA LYSIS OF BIN A RY
SEARCH
To analyze the binary search algorithm, we need to recall that each
comparison eliminates about half of the remaining items from
consideration. If we start with n items, about n/2 items will be left
after the first comparison. After the second comparison, there will
be about n/4. Then n/8, n/16, and so on.

When we split the list enough times, we end up with a list that has
just one item. Either that is the item we are looking for or it is not.
Either way, we are done. The number of comparisons necessary
to get to this point is i where n/2^i=1. Solving for i gives us
i=(log n).
The maximum number of comparisons is log n. Therefore,
the complexity of binary search is O(log n).
THANK YOU !

You might also like