二分法python实现
2024-09-01 23:02:26
聚会游戏,一个人想一个数,其他人来猜,然后告诉你猜大了还是小了,直到猜到这个数。
二分法和猜数游戏类似,只不过猜的时候一定猜最中间的那个数,折半查找所需内容,就数组来说,数组越长,梯度下降越快,二分查找优势越明显。
python代码如下:
def binary_search(list, item):
low = 0
high = len(list)-1 # Tracking list head and tail
n = 0
while low <= high:
mid = int((low + high)/2) #Take the middle number
guess = list[mid]
n += 1
if list[mid]==item:
print(n)
return mid
if list[mid]<item: #Change the head and tail pointers
low = mid + 1
else:
high = (mid-1)
return None m=[1,2,3,4,8,9,11,12,14,18,19,20,28]
print(binary_search(m,14))
最新文章
- Android的post()方法究竟运行在哪个线程中
- input上传按钮 文字修改办法
- percona-xtrabackup备份mysql
- 黑马程序员——C语言开门片内存分析
- Arduino红外遥控系列教程2013——发射与接收
- jQuery中间each实施例的方法
- (102, ";Incorrect syntax near &#39;-&#39;.DB-Lib error message 102, severity 15:\nGen
- js实现黑客帝国文字下落效果
- WEB页面的生命周期,DOMContentLoaded,load,beforeunload,unload
- Openresty 操作Cookie
- sourcetree 免注册
- Building tools 为什么是主流?
- 算法第四版-文字版-下载地址-Robert Sedgewick
- 【BZOJ2427】[HAOI2010]软件安装(动态规划,Tarjan)
- Codeforces Round #228 (Div. 1)
- oracle 查看被锁表 及解除锁定
- 【Devops】【Jenkins】Jenkins插件安装失败处理方法
- 慕课网价值149《前端JavaScript面试技巧》笔记大公开——适应群体(学生或应届毕业生)
- BigData – Join中竟然也有谓词下推!?
- 【jQuery源码】jQuery对象初始化
热门文章
- 倾斜动画(SkewTransform)
- prometheus2.0 联邦的配置
- Linux:检查当前运行级别的五种方法
- Content Security Policy (CSP)内容安全策略
- vue生命周期小总结
- 你忘记过VM密码吗?
- nginx-ingress之server-snippet用法
- 创建Spring boot project报错:Project build error: Non-resolvable parent POM for xxx:0.0.1-SNAPSHOT: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent
- SpringBoot2.x项目初始化
- secureCRT 中各种传输协议分析 启动daemon运行守护进程(转)