'''二分查找:
前提:数组是有序的
时间复杂度:最优O(1) 最坏O(logN)
'''
def area(alist, targe):
n = len(alist)
left = 0
right = n - 1
while left <= right:
mid = (left + right) // 2
if alist[mid] > targe:
right = mid - 1
elif alist[mid] < targe:
left = mid + 1
else:
return alist.index(targe)
return False
if __name__ == '__main__':
list = [2,4,5,12,14,23]
print(area(list,23))
python实现二分查找算法(折半查找算法)
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:路由跳转的四种方式
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python实现二分查找(折半查找)
我们在学习编程语言或者算法设计的时候,总是绕不过
数组 机器学习 深度学习 -
C 语言中的折半查找算法(二分查找算法)
C语言中的拆半查找算法(二分查找算法)
折半查找 有序表 二分查找 -
Java实现二分查找(折半查找)
...
Java -
Python实现二分查找算法
引言二分查找是基础算法的一种,有利于我
算法 数据结构 leetcode 二分法 python -
JavaScript实现折半查找(二分查找)
一、问题描述:在一个升序数组中,使用折半查找...
数组 子数组 折半查找 while语句 有序数组