1.你对回溯算法的理解(2分)
本质上回溯算法是一种穷举法,将所有的可能性都检查一遍后,即可得到理想的解。但是回溯算法还包括了限界函数以及约束函数,通过对树的剪枝,将不可能的解先行剪掉,减少需要搜索的叶子节点,得到一个较为理想的运行时间。
2.请说明“子集和”问题的解空间结构和约束函数(2分)
开始节点
1 0
1 0 1 0
1 0 1 0 1 0 1 0
以n=3为例,“子集和”问题的解空间结构实际是一个二叉树,每一层代表对应位置的数字是选还是不选。
约束函数:当前数字加上之前所保存的和的和不能大于目标数字c,之前所保存的和加上剩余所有数字的和不能小于目标数字c。
3.请说明在本章学习过程中遇到的问题及结对编程的情况(1分)
本章学习中最大的问题在于函数backtrack不好调试,如果将其中的数据cout出来查看,数据太多,不易辨别。在作业的编写过程中,我在subsum10 的数据上遇到了许多报错,最后还是在结对编程的同学的提醒下才解决。
浙公网安备 33010602011771号