### # binary_search.py # # author: Kristina Striegnitz # # version: 2/7/2010 # # Check whether a given element is in a list. List must be ordered. ### def binary_search (value, l): low_index = 0 high_index = len(l) - 1 while low_index <= high_index: mid_index = (low_index + high_index) / 2 mid_val = l[mid_index] if mid_val == value: return True elif mid_val < value: low_index = mid_index + 1 else: high_index = mid_index - 1 return False def binary_search2(value, l): while l != []: mid_index = len(l) / 2 mid_val = l[mid_index] if mid_val == value: return True elif mid_val < value: l = l[mid_index+1: ] # everything from the middle to the end else: l = l[ :mid_index] # everything from the beginning to the middle return False