分治法在每一层递归上都有三个步骤:
分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;
合并:将各个子问题的解合并为原问题的解。
另外,分解到什么规模就够了呢?即分解到子问题可以找到一个方法,使得在线性时间/常量时间内就可以解决。比如归并排序问题,排序到什么时候最容易解决呢?当然是分解到序列内只有一个元素
分治法在每一层递归上都有三个步骤:
分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;
合并:将各个子问题的解合并为原问题的解。
另外,分解到什么规模就够了呢?即分解到子问题可以找到一个方法,使得在线性时间/常量时间内就可以解决。比如归并排序问题,排序到什么时候最容易解决呢?当然是分解到序列内只有一个元素
内容版权声明:除非注明,否则皆为本站原创文章。