分治法 订阅
分治法可以通俗的解释为:把一片领土分解,分解为若干块小部分,然后一块块地占领征服,被分解的可以是不同的政治派别或是其他什么,然后让他们彼此异化。分治法的精髓:分--将问题分解为规模更小的子问题;治--将这些规模更小的子问题逐个击破;合--将已解决的子问题合并,最终得出“母”问题的解; 展开全文
分治法可以通俗的解释为:把一片领土分解,分解为若干块小部分,然后一块块地占领征服,被分解的可以是不同的政治派别或是其他什么,然后让他们彼此异化。分治法的精髓:分--将问题分解为规模更小的子问题;治--将这些规模更小的子问题逐个击破;合--将已解决的子问题合并,最终得出“母”问题的解;
信息
外文名
Divide and Conquer
分    类
计算机算法
中文名
分治法
属    性
编程技巧
分治法概述
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)……
收起全文
精华内容
下载资源
问答
  • 分治法

    2020-03-14 08:34:10
    分治法分治法的设计思想分治法的求解过程 分治法的设计思想 对于一个规模为n的问题:若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式...

    分治法的设计思想

    对于一个规模为n的问题:若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。

    分治法所能解决的问题一般具有以下几个特征:

    1. 该问题的规模缩小到一定的程度就可以容易地解决。
    2. 该问题可以分解为若干个规模较小的相同问题。
    3. 利用该问题分解出的子问题的解可以合并为该问题的解。
    4. 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。

    分治法的求解过程

    分治法通常采用递归算法设计技术,在每一层递归上都有3个步骤:
    ① 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题。
    ② 求解子问题:若子问题规模较小而容易被解决则直接求解,否则递归地求解各个子问题。
    ③ 合并:将各个子问题的解合并为原问题的解。

    根据分治法的分割原则,原问题应该分为多少个子问题才较适宜?各个子问题的规模应该怎样才为适当?
    这些问题很难予以肯定的回答。但人们从大量实践中发现,在用分治法设计算法时,最好使子问题的规模大致相同。换句话说,将一个问题分成大小相等的k个子问题的处理方法是行之有效的。
    当k=1时称为减治法。

    许多问题可以取 k=2,称为二分法,如图所示,这种使子问题规模大致相等的做法是出自一种平衡子问题的思想,它几乎总是比子问题规模不等的做法要好。
    在这里插入图片描述

    展开全文
  • 求方程f(x) = x^3 + x^2 - 1 = 0在[01]上的近似解,精确度为0.01分治法解方程

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,160
精华内容 25,664
关键字:

分治法