前言
回溯法 1-求n个元素的集合的幂集中状态变化树是一棵满二叉树:树中每个叶子结点的状态都是求解过程中可能出现的状态(即问题的解)。
【然而】很多问题用回溯和试探求解时,描述求解过程的状态树不是一棵满的多叉树
【非满多叉树】不是满的多叉树:当试探过程中出现的状态和问题所求解产生矛盾时,不再继续试探下去,这时出现的叶子结点不是问题的解的终结状态
此类问题的求解过程可看成是在约束条件下进行先序(根)遍历,并在遍历过程中剪去那些不满足条件的分支
问题
求4皇后问题的所有合法布局(作为例子,把八皇后问题简化为4皇后问题)
思路
四皇后问题的棋盘状态树:
这是一棵四叉树,树上每个结点表示一个局部布局或一个完整的布局
【根结点】棋盘的初始状态,棋盘上无任何棋子
【规则】每个棋子都有4个可选择的位置
但在任何时刻