aed/algoritmos/pesquisa/binary.py

24 lines
752 B
Python

lista = sorted([0,1,5,3,15,16,9,10,4,3,30,5,20,48,71,82])
def binary_callable(val):
return binary(val, 0, len(lista)-1)
def binary(val, i, j):
middle = int((i + j)/2)
if j < i:
return False
elif val == lista[middle]:
return True
elif val > lista[middle]:
return binary(val, middle+1, j)
else:
return binary(val, i, middle-1)
if __name__ == '__main__':
print('FOUND') if binary_callable(-1) else print('NOT FOUND')
print('FOUND') if binary_callable(4) else print('NOT FOUND')
print('FOUND') if binary_callable(0) else print('NOT FOUND')
print('FOUND') if binary_callable(82) else print('NOT FOUND')
print('FOUND') if binary_callable(88) else print('NOT FOUND')