算法第五章作业

1、回溯算法的理解

     回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为:

(1)定义一个解空间,它包含问题的解。

(2)利用适于搜索的方法组织解空间。

(3)利用深度优先法搜索解空间。

(4)利用限界函数避免移动到不可能产生解的子空间。

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

      "子集和“问题的解空间由长度为n的0-1向量组成,该解空间包含对所有变量的所有可能的0-1赋值。比如当n=5时,其解空间为{(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)}。其解空间树是一颗完全二叉树。

3、本章学习过程中遇到的问题及结对编程的情况

由于对本章的回溯法了解不到位,所以在做编程题的时候有点困难,而且对于限界函数的理解也一般,在结对编程的过程中由于不太会用只要也是队友写代码,而我看他代码解释,在这过程中对回溯法也印象更深了。

posted @ 2018-12-23 16:33  Kdj  阅读(178)  评论(0编辑  收藏  举报