算法第五章作业
-
你对回溯算法的理解(2分) 用回溯法解决问题,首先要得到问题的解空间树,然后按深度优先策略,从根节点开始搜索整个解空间。算法搜索至解空间树的任一结点时,先判断该节点是否包含问题的解,如果一定不包括,则删去该子树,否则进入该子树依旧用深度优先策略搜索。用回溯法解决问题最后一定要回溯到根。
- 请说明“子集和”问题的解空间结构和约束函数(2分) 答:解空间结构是一个二叉树,第n层代表对子集第n个元素选择或者不选择,其中左子树代表选择,右子树代表不选择该元素到子集中。 子集和问题的约束函数就是 if(c>=a[t]) 就进入左子树,其中c是目标数的剩余值,a[t]是第t层对应的集合中的第t个数。
-
请说明在本章学习过程中遇到的问题及结对编程的情况(1分) 答:在用回溯法解决问题时,一开始对于swap的理解不够清晰,后来在结对编程的时候,用到swap的时候和队友一起理解了一边swap函数的意义后来就弄懂了。
浙公网安备 33010602011771号