zoukankan      html  css  js  c++  java
  • 基础算法---二分查找

    二分查找


    二分查找原理:从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。
    
    二分查找:在一个数组内,找到中间值,判断要找的值和中间值大小的比较。如果中间值大一些,则在中间值的左侧区域继续按照上述方式查找。如果中间值小一些,则在中间值的右侧区域继续按照上述方式查找,直到找到我们希望的数字。
    

    def Search(ListA,val):
        #low 和high代表下标 最小下标,最大下标
        low=0
        high=len(ListA)-1
        while low <=high:# 只有当low小于High的时候证明中间有数
            mid=(low+high)//2
            if ListA[mid]==val:
                return('这个数在数组中的下标为:%d' % (mid)) #返回他的下标
            elif ListA[mid]>val:
                high=mid-1
            else:
                low=mid+1
        else:
            return('没有找到该值')
    
            # return null证明没有找到
    ListA = list(range(100))
    val=input('输入你要查找的值:')
    val=int(val)
    print(Search(ListA,val ))
  • 相关阅读:
    第一章 数据库概论
    规范化
    qt mysql驱动问题解绝
    linux文件系统软链接硬链接
    linux命令总结
    shell应用技巧
    如何使滚动条保持在页面底部
    地图定位问题汇总
    webpack基本用法
    git异常操作解决办法合集
  • 原文地址:https://www.cnblogs.com/tudouxifan/p/9105730.html
Copyright © 2011-2022 走看看