嗡嘛呢叭咪吽

Posted yangxiaoling

tags:

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

二分查找:

一般而言,对于包含n个元素的列表,用二分查找最多需要log2 n(以2为底,n的对数)步,而简单查找最多需要n步。

仅当列表是有序的时候,二分查找才管用。

函数 binary_search 接受一个有序数组和一个元素。如果指定的元素包含在数组中,这个函数将返回其位置。

low = 0  high = len(list) - 1  mid = (low + high) / 2

guess = list[mid]

如果猜的数字小了,就相应地修改 low 。if guess < item: low = mid + 1

如果猜的数字大了,就修改 high 。if guess > item: high = mid - 1

 1 #!coding:utf8
 2 
 3 def binary_search(li, item):
 4     low = 0
 5     high = len(li) -1
 6 
 7     while low <= high:  # 设定有效范围
 8         mid = int((low + high) / 2)  # Python3中需要明确转为整型
 9         guess = li[mid]
10 
11         if guess == item:
12             return mid
13         elif guess > item:
14             high = mid - 1
15         else:
16             low = mid + 1
17     return None
18 
19 my_list = [1, 3, 5, 7, 9, 11]
20 print(binary_search(my_list, 11))

 

以上是关于嗡嘛呢叭咪吽的主要内容,如果未能解决你的问题,请参考以下文章

javaFX是干嘛的

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板