算法第五章作业

1. 你对回溯算法的理解

回溯算法就是将问题的每一种可能解组织成一个解空间,然后遍历问题的解空间,比较得出最优解。

 

2.请说明“子集和”问题的解空间结构和约束函数

集合中的每一个数都有两种操作可能,分别是放进子集和不放进子集。依靠两种情况,形成一棵解空间的二叉树,树的结点表示到当前放入子集的数的情况。

约束函数一个是加入一个数后的子集和要小于等于给定的子集和。另一个是要求当前的子集和加入所有剩余数后的值要大于等于给定的子集和。

 

3.请说明在本章学习过程中遇到的问题及结对编程的情况

首先用回溯算法,思路要非常清晰,知道每一步怎么遍历,要怎么分情况,要怎么回到上一个结点。还要用适当有效的函数剪枝,提高算法的效率。

结对时在向对方讲述算法时有难度。

posted @ 2019-12-11 22:07  miamigo  阅读(108)  评论(0编辑  收藏  举报