• 二分   三分搜索


    二分:二分 <wbr> <wbr> <wbr>三分搜索

    最经典的就是二分求方程解,以上这个图(原创)R是根处,x1,x2是去的两个边,另x=(x1+x2)/2;f(x)<0;就令x1=x;否则令x2=x;然后重复这个过程直到找到跟,或者达到题目要求的精度;
    递归代码:
    int binSearch(const int *Array,int start,int end,int key)
    {
        int left,right;
        int mid;
        left=start;
        right=end;
        //注释中为递归算法,执行效率低,不推荐
        
     
        while(left<=right)
        {
            mid=(left+right)/2;
            if(key==Array[mid])  return mid;
            else if(key
            else if(key>Array[mid]) left=mid+1;
        }
        return -1;
        //找不到就返回-1
    }

    三分:
    二分 <wbr> <wbr> <wbr>三分搜索

    mid (Left Right) 2

    midmid (mid Right) 2;

    如果mid靠近极值点,则Right midmid

    否则(midmid靠近极值点),则Left mid;

     

    程序模版如下:

    double cal(Type a)
    {
        
    }

    void solve()
    {
        double Left, Right;
        double mid, midmid;
        double mid_value, midmid_value;
        Left MIN; Right MAX;
        while (Left EPS <= Right)
        {
            mid (Left Right) 2;
            midmid (mid Right) 2;
            if (cal(mid)>=cal(midmid)) 

                Right midmid;
            else Left mid;
        }
    }

  • 相关阅读:
    从HDFS下载文件到本地
    oracle jdbc jar包异常
    spring jdbctemplate 启动报错(oracle驱动bug)
    solr搜索异常
    jdbc 处理Clob
    Wavosaur音频编辑软件: 功能专业,体积超小(500KB)
    isa server 2004中找不到HTTP过滤选项。
    cisco pix logging facility含义
    IPSec基础-密钥交换和密钥保护
    cisco 831 使用 SDM
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/5781635.html
Copyright © 2020-2023  润新知