zoukankan      html  css  js  c++  java
  • 数据结构——二分查找【转】

    转自: http://www.lishiyu.cn/post/45.html

    二分法(折半查找) -----------效率高,但要求序列必须有序-->使用范围小了

    15/2取7不是8
    点击查看原图

    /*
    *       二分查找算法 ---   递归算法
    *
    */
    int binSearch( int array[], int low ,int high, int key)
    {
        if(low<=high)
        {
            int mid =(low + high)/2;
            if(key == array[mid])
                return mid;
            else if(key < array[mid])
                return  binSearch(array, low , mid-1, key);
            else if(key > array[mid])
                return  binSearch(array, mid+1 , high, key);
        }
        else
            return -1;
    }
    /*
    *  二分查找 ------ 非递归算法
    *
    */
    int binSearch( int array[], int sizeArray, int key)
    {
        int low=0;
        int high= sizeArray-1;
        int mid;
        while(low<=high)
        {
            mid =(low + high)/2;
            if(key == array[mid])
                return mid;
            else if(key < array[mid])
                high = mid - 1;
            else if(key > array[mid])
                low = mid + 1;
        }
        return -1;
    }
  • 相关阅读:
    036 Python进阶小结
    035 异常处理
    033 数据类型分类
    034 Python深浅拷贝
    032 集合类型内置方法
    031 字典类型内置方法
    XML删除节点
    追加XML
    XML文档的读、写
    XML文档的创建
  • 原文地址:https://www.cnblogs.com/sheropan/p/5022241.html
Copyright © 2011-2022 走看看