首页 > 编程语言 > 详细

Python 实现二分查找算法

时间:2015-11-14 13:38:38      阅读:417      评论:0      收藏:0      [点我收藏+]

最近在学习python,由于在面试中,二分查找算法面试率极高,所以使用python做了一个实现。

def search1(sequence, number):
    lower = 0
    upper = len(sequence) - 1

    while lower <= upper:
        mid = (lower + upper) // 2
        if number > sequence[mid]:
            lower = mid + 1
        elif number < sequence[mid]:
            upper = mid - 1
        else:
            return mid
    return -1
def search(sequence, number, lower, upper):
    if lower == upper:
        assert number == sequence[upper]
        return upper
    else:
        middle = (lower + upper) // 2
        if number > sequence[middle]:
            return search(sequence, number, middle + 1, upper)
        else:
            return search(sequence, number, lower, middle)

 

Python 实现二分查找算法

原文:http://www.cnblogs.com/fangjianbin/p/4964160.html

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