菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
1317
0

Python_算法学习

原创
05/13 14:22
阅读数 3360

二分查找

输入一个有序的元素列表。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回NULL。

示例代码

def binary_search(list, item) :  //函数接受一个有序数组list和一个元素item
    //数组的起始位置low与结束位置high
    low = 0
    high = len(list) - 1
    //只要范围没有缩小到只包含一个元素
    while low <= high 
    //检查中间元素
        mid = (low + high) / 2
        guess = list[mid]
    //找到了元素
        if guess == item :
        //返回数组下标
            return mid
    //猜大了
        if guess > item :
        //向前移动一位,缩小取值范围
            high = mid - 1
    //猜小了 
        else :
        //向后移动一位,缩小取值范围
            low = mid + 1
    return None
my_list = [1,3,5,7,9]
print binary_search(my_list, 3) => 1

发表评论

0/200
1317 点赞
0 评论
收藏
为你推荐 换一批