Files
Learn-Algorithms/8 Algorithms Analysis/分治算法.md
T

31 lines
665 B
Markdown
Raw Normal View History

2021-10-25 16:39:57 +08:00
# 分治算法
2017-04-01 17:50:44 +08:00
将一个难以直接解决的大问题,分割成一些规模较小的相同问题,各个击破,分而治之。
2021-11-10 16:35:20 +08:00
分治算法常用[递归](./递归.md) 实现
2017-04-01 17:50:44 +08:00
2021-11-07 00:16:03 +08:00
1)问题缩小的小规模可以很容易解决
2)问题可以分解为规模较小相同问题
3)子问题的解可以合并为该问题的解
4)各个子问题相互独立,(如果这条不满足,转为`动态规划`求解)
2017-04-01 17:50:44 +08:00
分治法的步骤:
2021-11-07 00:16:03 +08:00
2017-04-01 17:50:44 +08:00
1. 分解
2. 解决
3. 合并
#### 大整数乘法
2021-10-11 10:35:23 +08:00
如 `26542123532213598*345987342245553677884`
2017-04-01 17:50:44 +08:00
#### 其它案例
2021-11-07 00:16:03 +08:00
* 快速排序
* [归并排序](../6%20Sort/README.md)
* 最大子数组和