第五章回溯法

一、你对回溯算法的理解

  回溯算法其实就是一种系统的,通用的解决问题的算法,它可以系统地搜索一个问题的所有解或任意解。通常与DFS结合,并且解空间常常是一棵n叉树。

而为了减少不必要的搜索来提高搜索效率,往往采用两种方法避免无效搜索,一是利用约束函数在扩展结点处减去不满足约束的子树,二是利用限界函数剪去得不到最优解的子树。这两类和函数都统称为剪枝函数。

 

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

  解空间结构:集合Sn={a1,a2,a3,.......,an}的一个满足所有元素加起来之和为c的子集;

  约束函数:如果剩余的值sum(每加上一个数,sum的值就减去这个数)小于当前要搜索的数ai,则可以搜索右子树,否则搜索左子树;

 

三、请说明在本章学习中遇到的问题以及结对编程情况

  问题:构造解空间树以及剪枝函数会比较费劲。

  结对编程情况:良好,互相学习探讨的过程中,加深了对算法的印象和理解。

posted @ 2019-12-14 22:24  _KKcoding  阅读(142)  评论(0编辑  收藏  举报