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

python数据结构与算法之二分法

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

python数据结构与算法之二分法

#二分法原理
'''
从中间位置开始,通过判断是>或者<后,再对其取中间位置,依次类推直到区间长度等于1
'''
'''
二分法将遍历的次数缩小到了原来的log2X倍
但二分法的前提条件是所有的数据排列是有序的
'''
#code

def binary_search(a,item):
    #设定初始条件
    low = 0
    high = len(a)-1
    while low<=high:
        mid = (low + high) // 2
        if a[mid] == item:
            return True
        elif a[mid]>item:
            high = mid-1
        else:
            low = mid+1
    return False

my_list = [1,3,5,7,9]
print(binary_search(my_list,9))
print(binary_search(my_list,5))
#为什么只改变列表元素的长度就会导致结果变换
'''
因为我的原始代码中guess的固定在初始化中没有随着更新,
所以guess固定与list中间的位置


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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