回溯法 & 分支限界 - 2

对回溯法和分支限界法不了解的话,可以先参考之前的blog:https://blog.csdn.net/m0_51339444/article/details/124062406

一、算法概述

1. 回溯法

回溯法 = 穷举 + 剪枝,根据约束条件限界函数进行剪枝,本质是深度优先搜索,是穷举遍历的改进版,只是可以进行剪枝,缩小搜索空间,提高算法效率。
回溯法分为递归回溯迭代回溯
搜素树的类型分为子集树(O( 2^n^ ))排列树(O( n !))
在这里插入图片描述

2. 分支限界

分支限界和回溯法非常类似,都是在整个搜索空间进行剪枝,但分支限界主要是广搜的思想,每个节点只有一次机会成为活结点,一次性拓展出该节点所有孩子节点,根据代价函数剪枝,因此采用队列的形式。而回溯法需要使用栈。

3. Comparison

在这里插入图片描述

二、示例

1.

猜你喜欢

转载自blog.csdn.net/m0_51339444/article/details/124526578