Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- encoding: utf-8 -*-
- def search(value, values):
- start = 0
- end = len(values) - 1
- result = bsearch(value, values, start, end)
- print("Number found: {}".format(result))
- def bsearch(value, values, start, end):
- print("Search {} in {}...".format(value, values[start:end+1]))
- middle = (start + end) // 2
- current_value = values[middle]
- if current_value == value:
- return True
- elif current_value != value and start == end:
- return False
- elif current_value > value:
- print("Search left...")
- return bsearch(value, values, start, middle - 1)
- else:
- print("Search right...")
- return bsearch(value, values, middle + 1, end)
- values = [1, 3, 6, 9, 10, 14, 16, 17, 21]
- print("Testing the algorithm...")
- for value in values:
- search(value, values)
- search(7, values)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement