1、你对回溯算法的理解(2分)
回溯法可以系统搜索一个问题的所有解(回溯到根)或任一解(只要有一个解满足就可停止遍历)。首先要确定好问题的解空间及解空间结构,以深度优先方式搜索解空间,并用剪枝函数得到最优解。
其中剪枝函数又包括约束函数(用于判断是否满足条件)以及限界函数(用于得到最优解)。
常遇到两种解空间树:子集树和排列树,分别有对应的算法框架。
2、请说明“子集和”问题的解空间结构和约束函数(2分)
解空间结构为一棵二叉树,左分支为1表示选择这个元素,右分支为0表示不选择这个元素,第n个分支代表第n个元素
约束函数为当前子集和是否大于c,若大于c,则停止遍历该结点下的所有子树,开始回溯
3、请说明在本章学习过程中遇到的问题及结对编程的情况(1分)
我在本章学习遇到的难点在于如何确定约束函数和限界函数来进行剪枝。结对编程继续,通过互相给对方讲题从而加深理解。