算法第五章作业
1.你对回溯算法的理解
回溯法=穷举法+减枝函数
2.请说明“子集和”问题的解空间结构和约束函数
子集和问题解空间结构:
2
2 2
2 2 6
2 2 6 5
2 2 6 5 4
2 2 6 5
2 2 6
2 2 6 4
2 2 6
2 2
2 2 5
2 2 5 4
2 2 5
2 2
2 2 4
2 2
2
2 6
2 6 5
2 6 5 4
2 6 5
2 6
2 6 4
2 6
2
2 5
2 5 4
2 5
2
2 4
2
2
2 6
2 6 5
2 6 5 4
2 6 5
2 6
2 6 4
2 6
2
2 5
2 5 4
2 5
2
2 4
2
6
6 5
6 5 4
6 5
6
6 4
6
5
5 4
5
4
Process finished with exit code 0
约束函数:
(1)当前节点的和大于定义的sum,则退出当前递归(减枝)
(2)若判定当前节点的和加下该节点后的所有节点总和小于定义的sum,退出当前递归(减枝)
(3)若当前进入的深度大于定义的深度,退出当前递归(限界)
3.请说明在本章学习过程中遇到的问题及结对编程的情况
一开始对子集树概念模糊,最后终于理解回溯即穷举+减枝,结伴编程状态尚好。