二分法

Posted songyuejie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分法相关的知识,希望对你有一定的参考价值。

二分法查找使用:二分法的输入为一个有序的元素列表,如果目标元素存在有序列表中,返回其位置,否则返回null;

使用二分法查找时,每次比较的元素均为有序列表的中间元素,每次都将余下的元素排查一半;

对于包含n个元素的有序列表,使用二分法查找最大复杂度为Olog(n)。

def binary_search(li , item):
low = 0
high = len(li) - 1
while low <= high:
mid = (low + high )//2
if li[mid] == item:
return mid
elif li[mid] > item:
high = mid - 1
else:
low = mid + 1
return None


if __name__ == ‘__main__‘:
li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(binary_search(li, 9))

 

以上是关于二分法的主要内容,如果未能解决你的问题,请参考以下文章

二分法——二分查找

二分法查找

二分法查找

优化理论14----二分法二分法与黄金分割法比较python实现

python 二分法求方程的根

怎么计算java二分法查找的比较次数