Python: Binary search

Python Search and Sorting : Exercise-1 with Solution

Write a Python program for binary search.
Binary Search : In computer science, a binary search or half-interval search algorithm finds the position of a target value within a sorted array. The binary search algorithm can be classified as a dichotomies divide-and-conquer search algorithm and executes in logarithmic time.

Step by step example :

Binary search Part - 1

Binary search Part - 2

Binary search Part - 3

Binary search Part - 4

Sample Solution:

Python Code:

def binary_search(item_list,item):
	first = 0
	last = len(item_list)-1
	found = False
	while( first<=last and not found):
		mid = (first + last)//2
		if item_list[mid] == item :
			found = True
			if item < item_list[mid]:
				last = mid - 1
				first = mid + 1	
	return found
print(binary_search([1,2,3,5,8], 6))
print(binary_search([1,2,3,5,8], 5))

Sample Output:



Flowchart: Python Data Structures and Algorithms: Binary search

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

Python Code Editor :

Contribute your code and comments through Disqus.

Previous: Python Search and Sorting Exercise Homes.
Next: Write a Python program for sequential search.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

Python: Tips of the Day

Getting min/max from iterable (with/without specific function):

# Getting maximum from iterable
>>> a = [1, 2, -3]
>>> max(a)

# Getting maximum from iterable
>>> min(a)

# Bot min/max has key value to allow to get maximum by appliing function
>>> max(a,key=abs)