栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python实现二分查找代码+详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python实现二分查找代码+详解

python实现二分查找代码+详解 一、规定函数值

函数输入值
li=[1,2,3,4,5,6,7,8,9]#输入的集合
val=4#要查找的值
函数内部值
left=0#代表集合中第一个值的位置
right=len(li)-1#代表集合中最后一个值的位置
mid=0#分割时记录中间位置

二、分割区域

对集合li进行对半分割
集合分为1-5片区(红色片区)、5片区(蓝色片区 )、5-9片区(黄色片区)
经过分割后将val的值分厂三个片区
1.红色片区
val取值 1<=val<5
2.蓝色片区
val取值 val=5
3.黄色片区
val取值5

三、区域操作

分割完后对三个区域分别判断即可
操作一:排除蓝色片区 (val=5)是否是想找的值
if val==li[mid]:
return mid
操作二:排除黄色区是否在存在val
if li[mid] left=mid+1
操作三:排除红色区是否在存在val
if li[left]<=val right=mid-1

四、代码
def lin(li,val):
    left=0#代表集合中第一个值的位置
    right=len(li)-1#代表集合中最后一个值的位置
    while left<=right:
        mid=(left+right)//2#将集合分割,mid分割时记录中间位置
        if li[mid]==val:#操作一:排除蓝色片区 (val=5)是否是想找的值
            print(mid)
            return mid
        elif li[mid]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/829701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号