算法第五章作业

一、回溯算法

回溯法是一种以深度优先方式系统搜索问题解的算法。首先针对问题构造一棵解空间树,按深度优先策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一结点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先策略搜索。

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

解空间结构:“子集和”问题的求解方法与“01-背包”问题相似,针对解空间的每一个解,检测其是否被选择,如果是,则标记为1;如果不是,则标记为0,并且继续搜索。 直到找到求解的子集和,并输出路径。

约束函数:假设子集和为S,当前搜索到子集权重为w,前面累计权重为sum,若sum+w>S,则说明当前节点往下的节点权重加和大于S,此时需要回溯。

三、结对编程情况

在这次结对编程中,我们依旧是采取先分别想思路在、再一起讨论的做法,之后再分别完成代码编程,然后再相互对照学习,顺便找出对方代码的bug,这样子也同时提高了我们的代码编程能力。

posted @ 2018-12-23 19:45  cc-wanna  阅读(131)  评论(0编辑  收藏  举报