分治法应用
最后更新于:2022-04-02 04:10:59
[TOC]
## 概述
先分别处理局部,再合并结果
适用场景
1. 该问题的规模缩小到一定的程度就可以容易的解决。
2. 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。
3. 利用该问题分解出的子问题的解可以合并为该问题的解。
4. 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题。
适用方法
* 快速排序
* 归并排序
* 二叉树相关问题
基本步骤
* 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题
* 解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题
* 合并:将各个子问题的解合并为原问题的解
## 分封制的模板
```
void merge_sort(int array[], unsigned int first, unsigned int last)
{
int mid = 0;
if(first
';