第五章作业
-
你对回溯算法的理解
-
请说明“子集和”问题的解空间结构和约束函数
-
请说明在本章学习过程中遇到的问题及结对编程的情况
一、回溯算法:总结来说就是试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走。
二、子集和:
1、解空间结构:
解空间其实质就是判断每一个数字是否放入目的数组
2、约束函数:
用best来表示从当前元素加到最后一个元素的总和,用来回溯时判断限界剪枝
当sum + best >= c,即当前所选元素之和+从当前元素加到最后一个元素的总和>=目标值时,走右子树。
三、遇到的问题,还是有思路实现代码的时候会有问题。还有就是回溯法循环的条件。