简单的查找算法来啦!二分查找(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))
上一篇: 匿名函数如何继承变量
下一篇: 二分查找类算法题