求解一个问题最可靠的方法是:列出所有候选解,然后逐个检查。在检查所有或部分解之后,便可以找到所需要的解。
不过实际应用中,候选解的数量通常都非常大,因此需要进行“剪枝”优化,回溯和分支限界就是两种常用的方法。
文章目录对于NP-hard问题,回溯法和分支限界法通常是最好的方法。
-
-
- 回溯
- 分支限界
-
- 首先需要定义问题的一个解空间(solution space),该空间中至少包含问题的一个解。
例如:在最短路问题中,可以把从起点到终点的所有路径定义为解空间;在01背包问题中,可以把 2 n 2^n



