算法第五章作业
1.你对回溯算法的理解
回溯法,是一种系统地搜索问题的方法,其算法思想有点类似于树的深度遍历。可用于满足约束条件的可行解,或进一步求使目标函数取最大或最小值得最优解问题。
一般步骤为:1、定义一个解空间,它包含问题的解(问题的解空间通常是在搜索问题的解的过程中动态产生的)
2、利用适于搜索的方法组织解空间
3、利用深度优先法搜索解空间
4、利用限界函数避免移动到不可能产生解的子空间
2.请说明“子集和”问题的解空间结构和约束函数
解空间结构:子集树
约束函数:sum + a[t] <= c,向左剪枝;sum + rest >= c,向右剪枝
3.请说明在本章学习过程中遇到的问题及结对编程的情况
本章的难题主要在针对问题构造出解空间结构,这是用回溯法解决问题的关键步骤;还有就是根据不同的实际问题写出剪枝的算法。
在本章的结对编程过程中,遇到了不少难题,但最终都通过彼此的交流解决了问题,也促进了双方的进步,不断成长。