首页 > 编程语言 > 详细

算法图解第一章_二分查找_python

时间:2019-10-05 19:58:43      阅读:71      评论:0      收藏:0      [点我收藏+]

什么是二分查找?

我们先玩一个游戏.
在1至100之间我写下一个数,由你来猜测这个数是多少.我会告诉你高了还是低了.

最简单的办法就是每次取一半.
例如

"50""低了"
"75""高了"
"67""高了"
"63""低了"
"65""正确"

这种方法就是二分查找.

    def search(self,list,item):
        #list为顺序列表,item为目标值
        list_low=0  #列表起点
        list_high=len(list)-1   #列表终点
        while list_low<=list_high:  #只要起点不大于终点便一直循环
            mid=int((list_low+list_high)/2) #(起点+终点)/2=中间值
            guess=list[mid] #获取中间值
            if guess==item: #如果中间值等于目标值直接返回
                return mid
            if guess>item:  #如果中间值大于目标值,取小的一半重新开始
                list_high=mid-1
            else:
                list_low=mid+1  #如果中间值小于目标值,取大的一半重新开始
        return None #都没有就返回None

算法图解第一章_二分查找_python

原文:https://www.cnblogs.com/cnleika/p/11625548.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!