1.你对回溯算法的理解(2分)

      回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

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

      解空间结构:解空间结构与背包问题相似,即第一个数是否选择,进入左子树表示选择,进入右子树表示不选择

      约束函数:sum+rest<c。该函数中sum为进入左子树的结点数值总和,剩余所有数和为rest(当然不包括右子树的数值)

        判断若sum+rest<c,则剪枝,返回上一个结点继续深度遍历。

3。请说明在本章学习过程中遇到的问题及结对编程的情况(1分)

  一开始学回溯函数的时候比较懵,单看回溯方程会很不理解算法的思路,而且对剪枝函数的嵌入很陌生,但是在老师的讲解以及例题的感受下,渐渐地有一个直观的理解,然后也试着去理解经典的0-1背包问题等,特别在算法实践课上和同伴一起讨论,交换对回溯的理解以及剪枝函数的选择,才有了突破,最后才把子集和、最佳调度等题目A出来。