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

Binary Search in Python

Binary search is an algorithm for finding an element in a sorted array by comparing the target value to the middle element of the array each time, and either searching the left or right half depending on whether the target value is less than or greater than the middle element. It can be implemented iteratively or recursively, with the recursive approach dividing the problem into subproblems of searching either the left or right half of the array until the target is found or the pointers pass each other.

Uploaded by

Sameer Thakur
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views

Binary Search in Python

Binary search is an algorithm for finding an element in a sorted array by comparing the target value to the middle element of the array each time, and either searching the left or right half depending on whether the target value is less than or greater than the middle element. It can be implemented iteratively or recursively, with the recursive approach dividing the problem into subproblems of searching either the left or right half of the array until the target is found or the pointers pass each other.

Uploaded by

Sameer Thakur
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Binary Search

Binary Search is a searching algorithm for finding an element's position in a sorted array.

In this approach, the element is always searched in the middle of a portion of an array.

Binary Search Algorithm can be implemented in two ways which are discussed below.

1. Iterative Method
2. Recursive Method

The recursive method follows the divide and conquer approach.

The general steps for both methods are discussed below.

1. The array in which searching is to be performed is:

Let x = 4 be the element to be searched.

2. Set two pointers low and high at the lowest and the highest positions respectively.

3. Find the middle element mid of the array ie. arr[(low + high)/2] = 6.
4. If x == mid, then return mid.Else, compare the element to be searched with m.
5. If x > mid, compare x with the middle element of the elements on the right side of mid.
This is done by setting low to low = mid + 1.
6. Else, compare x with the middle element of the elements on the left side of mid. This
is done by setting high to high = mid - 1.
7.

8. Repeat steps 3 to 6 until low meets high.

9. x = 4 is found.

Binary Search Algorithm


Iteration Method

do until the pointers low and high meet each other.


mid = (low + high)/2
if (x == arr[mid])
return mid
else if (x > arr[mid])
low = mid + 1
else
high = mid - 1
Recursive Method

binarySearch(arr, x, low, high)


if low > high
return False
else
mid = (low + high) / 2
if x == arr[mid]
return mid
else if x > arr[mid]
return binarySearch(arr, x, mid + 1, high)
else
return binarySearch(arr, x, low, mid - 1)

You might also like