2013年6月17日

回溯法:八皇后问题

摘要: 什么是回溯法?回溯来源于基本的枚举:void print(序列A, 集合S){ if (S为空) 输出序列A else 按照“从小到大的顺序”依次考虑S中的每个元素 { print(A的新序列, S-{v}); //递归 } }其中,测试元素通过一个for循环加入,递归通过cur下标指示当前位置。很明显,这是一个对解答树的先序遍历过程,叶节点就是问题的解。但是,当问题规模扩大时枚举量指数级的扩大。问题在于枚举将解的判断置于叶节点,而忽视了搜索路径中的判断。因此回溯就应运而生,也就是在测试节点加入时就测试合理性,(合理) ? 递归:剪枝。... 阅读全文

posted @ 2013-06-17 12:21 zjgtan 阅读(412) 评论(0) 推荐(0) 编辑

导航