【发布时间】:2017-12-05 03:28:27
【问题描述】:
我是 python 新手,非常热衷于学习算法。 我已经为二进制搜索编写了示例代码,任何人都可以建议我如何以更 Python 的方式获得相同的结果(优化代码,或者尽可能使用 Bisect)?
def bee_search(alist, target):
sort_list = sorted(alist)
while len(sort_list) >= 1:
end = len(sort_list)
middle = int((0 + end)/2)
if target == sort_list[middle]:
print "Found it", str(sort_list[middle])
break
elif target > sort_list[middle]:
sort_list = sort_list[middle:]
elif target < sort_list[middle]:
sort_list = sort_list[:middle]
else:
return "Fount it", str(sort_list[middle])
else:
print "List is Empty"
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
bee_search(arr,15)
【问题讨论】:
标签: python binary-search