欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单的查找算法来啦!二分查找(Python)

程序员文章站 2022-03-08 23:27:58
...

一、二分查找简介
二、代码实现

一、二分查找简介

二分查找是非常简单的一种查找方法,它接收一个列表和一个元素,如果这个元素在这个列表里,就返回该元素所在的位置,否则返回None。

二分查找也可以说是折半查找,它每次能排除一般的数据。一般而言,对于n个元素的列表,用二分查找最多需要logn步

它的具体过程如下:

1、设立low和high分别指向列表的第一个和最后一个元素,mid=(low+high)/2
2、查看mid所指向的元素和我们要查找的元素a的大小,如果mid<a,则修改low的值,low=mid+1
反之,修改high的值,high=mid-1
3、直到 low >= high

二、代码实现

def Binary_search(list,item):
    low=0
    high=len(list)-1
    while low<=high:
        mid = (low + high) // 2  # 向下取整
        if list[mid]==item:
            return mid
        elif list[mid]<item:
            low=mid+1
        else:
            high=mid-1
    return None

if __name__=="__main__":
    mylist=[1,3,5,7,9]
    print(Binary_search(mylist,4))
    print(Binary_search(mylist,7))

简单的查找算法来啦!二分查找(Python)