Advertisement
Mori007

BInarysearch

May 13th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. # Binary searching for the list
  2. from random import randint
  3.  
  4. def binary_search(sorted_list, value):
  5. # left to 0
  6. left = 0
  7. # right to highest index in list
  8. right = len(sorted_list) - 1
  9. # loop that ends when left > right
  10. while left <= right:
  11. # mid to int between left and right
  12. mid = int((right + left)/2)
  13. # if sorted_list[mid] > value set right to mid
  14. if sorted_list[mid] > value:
  15. right = mid - 1
  16. # if sorted_list[mid] < value set left to mid
  17. elif sorted_list[mid] < value:
  18. left = mid + 1
  19. # if sorted_list[mid] == value return mid
  20. else:
  21. return mid
  22. # loop ends return `False`
  23. return False
  24.  
  25. sorted_list = [7,4,9,12,18,20,35,66]
  26. value = 12
  27. binary_search(sorted_list, 10)
  28. print("list of numbers is {}".format(sorted_list))
  29. print(binary_search(sorted_list, value))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement