Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # binary search on sorted list
- # returns left (or right) position of value
- import random
- random_items = []
- def binary_search(sorted_list, value):
- left = 0
- right = len(sorted_list) - 1
- while left <= right:
- mid = int((left + right)/2)
- if sorted_list[mid] > value:
- right = mid - 1
- elif sorted_list[mid] < value:
- left = mid + 1
- else:
- while sorted_list[mid-1] == value: #alter this for right or left
- mid -= 1
- mid += 1
- return mid
- return False
- # populate list
- for x in range (0, 100):
- random_items.append(random.randint(0, 100))
- sorted_items = sorted(random_items)
- print(sorted_items)
- print(binary_search(sorted_items, 10))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement