递归算法实现二分查找

def find(data, n):
mid = int(len(data)/2)
if len(data) > 1:
if data[mid] > n:
print('%s in left of %s' %(n, data[mid]))
find(data[:mid], n)
elif data[mid] < n:
print('%s in right of %s' % (n, data[mid]))
find(data[mid:], n)
else:
print('find data')
else:
print('not in the list')

if __name__ == '__main__':
data = list(range(1,6000000,7))

find(data, 9098)
posted @ 2017-03-01 23:20  jack410  阅读(274)  评论(0编辑  收藏  举报