码迷,mamicode.com
首页 > 编程语言 > 详细

Python 实现二分查找算法

时间:2015-11-14 13:39:33      阅读:336      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!