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

    优点:

    从包含n个元素的数组中执行查找操作仅仅需要O(lg n)时间

    内容:

    在任意情况下,我们仅仅考虑某个子数组,也就是说,介于两个索引之间的部分数组,将两个索引依次记为p=1,r=n,因此开始时, 子数组为整个完整数组。我们反复将子数组规模减半,直到发现以下任何一种情况发生:要么找到了要查找的元素,要么当前 的子数组为空(也就是说p>r)。反复对子数组执行减半操作需要花费O(lgn)的运行时间。

    test = list(range(1,11))
    test
    >>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    def binary(test,target):
        p = 0
        r = len(test)-1
        while p<=r:
            q = (p+r)//2
            if test[q] == target:
                return q
            else:
                if test[q]>target:
                    r = q-1
                else:
                    p = q+1
        return "Not found"
    

      

  • 相关阅读:
    inetinfo
    常用的IIS命令
    asp.net
    WAS与w3svc
    服务和进程的关系
    w3svc
    link
    RAC动态资源(DRM)管理介绍
    RMAN内部原理介绍
    在32位的linux平台上为Oracle配置>1.7GB的SGA
  • 原文地址:https://www.cnblogs.com/zenan/p/8721384.html
Copyright © 2011-2022 走看看