博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法图解之二分查找
阅读量:6387 次
发布时间:2019-06-23

本文共 554 字,大约阅读时间需要 1 分钟。

2分查找必须得是一个有序的元素列表。如果要找的元素在列表内,则返回该元素的位置。否则,返回null。

代码

def binary_search(list, item):    low = 0    high = len(list) - 1    while low <= high:        mid = int((low + high) / 2)        guess = list[mid]        if guess == item:  # 如果找到了返回            return mid        if guess < item:            low = mid + 1  # 如果中间数小于要查找的数,那就把中间数左边的(包括中间数)都抛弃        else:            high = mid - 1  # 如果中间数大于要查找的数,那就把中间数右边的(包括中间数)都抛弃my_list = [i for i in range(1000000)]print(binary_search(my_list, 72292)) # 72292

 

转载于:https://www.cnblogs.com/lshedward/p/10428432.html

你可能感兴趣的文章
C#字符串操作--获取字符或字符串的位置、数量
查看>>
php - 字符串处理
查看>>
bulk collect 以及ref cursor使用
查看>>
mysql性能优化-慢查询分析、优化索引和配置
查看>>
图解分布式一致性协议Paxos
查看>>
Jedis与Redisson选型对比
查看>>
MongoDB学习笔记(查询)
查看>>
freemarker自定义标签的写法和使用
查看>>
使用Gitlab CI进行持续集成
查看>>
Win32编程基本概念
查看>>
那些年我所留恋的
查看>>
×××灯式样的站点链接说明,链接提示
查看>>
Linux下动态IP和静态IP的设置方法
查看>>
mysql 行长度
查看>>
SUSE配置网关
查看>>
java中获取字母和数字的组合
查看>>
8-3 泛型
查看>>
你是“职业”软件开发吗?——书评《浮现式设计-专业软件开发的演进本质》...
查看>>
iOS 多线程 之 GCD(大中枢派发)(二)
查看>>
开源项目 log4android 使用方式详解
查看>>