前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二分查找(python)

二分查找(python)

作者头像
零月
发布2018-04-25 16:14:34
8540
发布2018-04-25 16:14:34
举报
文章被收录于专栏:从零开始的linux从零开始的linux

假期无聊,在家无网络,就看了看传说中的算法,一个字难

下面都是本人的愚见,如有不对请谅解:

二分查找的前提是有序其次是排除一半,比如1..100之间猜一个数值的大小,从50猜起,去掉一半,大了还是小了,这样会快很多

接下来是我写的python示例

运行结果

6

None

可复制如下:

def binary_search(list1,item):

low = 0

high = len(list1) - 1

while low <= high:

mid = ( low + high ) / 2

guess = list1[mid]

if guess == item:

return mid

if guess > item:

high = mid - 1

else:

low = mid + 1

return None

my_list = [1,5,8,11,19,22,31,35,40,45,48,49,50]

print binary_search( my_list,31)

print binary_search( my_list,2 )

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始的linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档