zoukankan      html  css  js  c++  java
  • 二分法查找--Python

    二分查找算法,最常规的应用就是在一个有序数组中找特定的数。
    一般分为四步走: 
    1. 判定条件为low小于high,low=0, high=size-1 
    2. mid=(low+high) / 2 
    3. 如果data[mid]满足条件直接返回,如果满足条件的数据在mid的右边则将low=mid+1,如果满足条件的数据在mid左边则将high=mid-1
    4. 根据条件再次判定low,high两个元素是否满足条件 
    其实整个过程就不断缩小范围的过程。

    def binary_search(list, target):
        low = 0
        high = len(list) - 1
        while(low < high):
            mid = int((low + high) / 2)
            if(target == list[mid]):
                return mid
            elif(target < list[mid]):
                high = mid - 1
            else:
                low = mid + 1
        return -1
    
    if __name__ == '__main__':
        list = [1,2,3,4,5,6,7,8,9,10]
        index = binary_search(list, 6)
        print(index)
    
  • 相关阅读:
    Java基础知识
    jQuery的表单操作
    SSM——查询_分页
    jQuery实现查看删除
    SSM之Maven工程的搭建
    Mybatis使用@Param
    Mybatis简单的CURD
    Mybatis使用接口开发
    初入Mybatis
    SQL语句
  • 原文地址:https://www.cnblogs.com/fredkeke/p/9232475.html
Copyright © 2011-2022 走看看