算法第五章作业

1、对回溯算法的理解:
  回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。
  用回溯算法解决问题的一般步骤:
1) 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。
2 )确定易于搜索的解空间结构,使得能用回溯法方便地搜索整个解空间 。
3 )以深度优先的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。
 
2、请说明“子集和”问题的解空间结构和约束函数
  解空间结构:正整数集合S={x1,x2,…,xn}对应的的一个子集S1,S1中的元素之和为c。
  约束函数:即剪枝,如果当前结点后所得的值大于c,则表示接下来的搜索不可能找到等于c的答案,直接剪去,再回溯到上一个节点。
 
3、请说明在本章学习过程中遇到的问题及结对编程的情况
  虽然书上有子集树和排列树的模板可用,但是还是实践太少,第一题0/1背包头疼了大半节课,最后还是没办法跳过了直接做第二题QAQ,接下来要完成大作业和复习冲冲冲!
 
posted @ 2019-12-14 23:31  杨玉翔  阅读(138)  评论(0编辑  收藏  举报