一、你对回溯算法的理解

有通用解题法的美称,实际上是一个搜索尝试过程,搜素尝试中找问题的解,走到某一步时发现不满足解的条件或原先选择并不优就返回一步,尝试别的路。

 

 

二、请说明“子集和问题”中的解空间结构和约束函数

解空间结构:

正整数集合S={x1,x2,…,xn}对应的的一个子集S1,S1中的元素之和为c。

约束函数:

其约束函数为

sum表示不算已选择的元素的其他元素的值得总和, c为题目所需要的输入的和的总值

sum + a[t] <= c) ,如果加上当前结点的值小于问题所要求的子集和目标值,则向右子树深度优先搜索,否则向左子树深搜。

三、请说明在本章学习中遇到的问题以及结对编程情况

回溯法好难啊,严格的剪枝也太难了。

结对编程情况还好,两个菜鸡一起探索算法的奥秘。