【转】递归与回溯
摘要:
回溯(backtracking)是一种系统地搜索问题解答的方法。为了实现回溯,首先需要为问题定义一个解空间(solution space),这个空间必须至少包含问题的一个解(可能是最优的)。下一步是组织解空间以便它能被容易地搜索。典型的组织方法是图(迷宫问题)或树(N皇后问题)。一旦定义了解空间的组织方法,这个空间即可按深度优先的方法从开始节点进行搜索。回溯方法的步骤如下:1) 定义一个解空间,它包含问题的解。2) 用适于搜索的方式组织该空间。3) 用深度优先法搜索该空间,利用限界函数避免移动到不可能产生解的子空间。回溯算法的一个有趣的特性是在搜索执行的同时产生解空间。在搜索期间的任何时刻,仅 阅读全文
posted @ 2013-02-19 21:14 joygpwan 阅读(2937) 评论(0) 推荐(0)
浙公网安备 33010602011771号