算法第五章作业
1.对回溯算法的理解
按深度优先策略搜索问题,从根结点出发,当搜索至某一结点,用剪枝函数判断该结点是否可行。
若不可行,则跳过以该结点为根的子树的搜索,逐层向其祖先结点回溯;
若可行,进入该子树,继续搜索。
2. 请说明“子集和”问题的解空间结构和约束函数
解空间是一颗子集树,左子树结点代表选中该数,右子树代表不选中该数。
约束函数:向右搜索前,若当前和加上该数到之后所有数的和小于目标数,就不必向右搜索。
3.本章学习过程中遇到的问题及结对编程情况总结
回溯法较为容易理解,但是在编程的时候不能很好地运用模板,加入设置的剪枝函数。
并且自己做题时不能自己想到严格的剪枝方法