算法第五章作业

对回溯算法的理解:

回溯法,是通过深度优先策略从根节点遍历一个问题的所有解以获得最优解的一种算法,在思想上与动态规划有点相似,但实现方法大不相同,回溯法是从根节点一直遍历到各个叶节点得到最优解,每次得到一个解就回溯到父节点遍历另一子节点,最终得到最优解,期间可通过限界函数和约束函数剪枝以减少所需遍历的解的个数。、

“子集和”问题的解空间结构和约束函数:

解空间结构:二叉树结构,与0-1背包类似,及判断每个数是否放入数组

约束函数:判断当前的left是否比源数组的最小数还小,且每一次要加入数据时判断是否比目标值大;

本章学习过程中遇到的问题及结对编程的情况:

回溯法里会用到递归的方法,一开始思考的时候没有辅助以解空间,在里面纠结了蛮久,另外限界函数那一段跟同伴也研究了很久,但其实研究透之后也发现其实思路还是比较简单的,重难点也就在剪枝的部分,实际敲代码的时候也确实如此。

 

posted on 2018-12-23 19:33  思渊鱼  阅读(79)  评论(0编辑  收藏  举报

导航