Python: Search for an ordered list
Python Search and Sorting : Exercise-3 with Solution
Write a Python program for binary search of an ordered list.
Sample Solution:
Python Code:
def Ordered_binary_Search(olist, item):
if len(olist) == 0:
return False
else:
midpoint = len(olist) // 2
if olist[midpoint] == item:
return True
else:
if item < olist[midpoint]:
return binarySearch(olist[:midpoint], item)
else:
return binarySearch(olist[midpoint+1:], item)
def binarySearch(alist, item):
first = 0
last = len(alist) - 1
found = False
while first <= last and not found:
midpoint = (first + last) // 2
if alist[midpoint] == item:
found = True
else:
if item < alist[midpoint]:
last = midpoint - 1
else:
first = midpoint + 1
return found
print(Ordered_binary_Search([0, 1, 3, 8, 14, 18, 19, 34, 52], 3))
print(Ordered_binary_Search([0, 1, 3, 8, 14, 18, 19, 34, 52], 17))
Sample Output:
True False
Flowchart:
Python Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Python program for sequential search.
Next: Write a Python program to sort a list of elements using the bubble sort algorithm.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://198.211.115.131/python-exercises/data-structures-and-algorithms/python-search-and-sorting-exercise-3.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics