This commit is contained in:
krahets
2023-07-26 08:58:52 +08:00
parent 583d89729e
commit 6381f16506
45 changed files with 198 additions and 198 deletions
@@ -7,8 +7,8 @@ status: new
「分治 Divide and Conquer」,全称分而治之,是一种非常重要且常见的算法策略。分治通常基于递归实现,包括“分”和“治”两步:
1. **分(划分阶段)**:递归地将原问题分解为两个或多个子问题,直至到达最小子问题时终止
2. **治(合并阶段)**:从已知解的最小子问题开始,从底至顶地将子问题的解进行合并,从而构建出原问题的解
1. **分(划分阶段)**:递归地将原问题分解为两个或多个子问题,直至到达最小子问题时终止
2. **治(合并阶段)**:从已知解的最小子问题开始,从底至顶地将子问题的解进行合并,从而构建出原问题的解
已介绍过的「归并排序」是分治策略的典型应用之一,它的分治策略为:
@@ -29,9 +29,9 @@ status: new
显然归并排序,满足以上三条判断依据:
1. 递归地将数组(原问题)划分为两个子数组(子问题)
2. 每个子数组都可以独立地进行排序(子问题可以独立进行求解)
3. 两个有序子数组(子问题的解)可以被合并为一个有序数组(原问题的解)
1. 递归地将数组(原问题)划分为两个子数组(子问题)
2. 每个子数组都可以独立地进行排序(子问题可以独立进行求解)
3. 两个有序子数组(子问题的解)可以被合并为一个有序数组(原问题的解)
## 12.1.2.   通过分治提升效率