# 分治法

> 将一个大问题分解为若干个规模较小的相同问题，递归解决这些子问题，然后将结果合并。

- ID: m06022
- 分类: culture
- 领域: 政治学

## 定义

将一个大问题分解为若干个规模较小的相同问题，递归解决这些子问题，然后将结果合并。脚手架作用： 拆解的艺术。面对不可逾越的困难（如写一本书），不要试图一口吞下。把它切碎，碎到每一个小块都看起来毫无难度（如写100字）。解决所有小块，大山就移走了。

## 机制

将规模为 n 的问题分解为 a 个规模 n/b 的子问题，递归求解后合并。时间复杂度常满足主定理（master theorem）。机制是"递归降维"——把不可解的大问题降到平凡小问题，复杂度常从 O(n²) 降到 O(n log n)。

## 练习

1. 分解：把问题拆为结构相同的子问题。 2. 解决：子问题足够小则直接解，否则递归。 3. 合并：将子解合成原解。 4. 注意子问题间尽量独立，避免重复计算。

## 脚手架用法

拆解的艺术。面对不可逾越的困难（如写一本书），不要试图一口吞下。把它切碎，碎到每一个小块都看起来毫无难度（如写100字）。解决所有小块，大山就移走了。

[阅读网页](https://thinkingmodels.site/entries/detail/m06022)
