算法设计—分支法与回溯法的不同

求解目标不同:

回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是尽快地找出满足约束条件的一个解。

搜索方法不同:

由于求解目标不同,导致分支限界法与回溯法对解空间的搜索方式也不同,回溯法采用深度优先方法搜索解空间,而分支限界法一般采用用广度优先或以最小耗费优先的方式搜索解空间。

对扩展结点的扩展方式不同:

在回溯法中,如果当前的扩展结点不能够再向纵深方向移动,则当前扩展结点就成为死结点,此时应回溯到最近的一个活结点处并使此活结点成为扩展结点

在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。

存储空间的要求不同:

分支限界法的存储空间比回溯法大得多,因此当内存容量有限时,回溯法成功的可能性更大。