算法第五章作业

1、对回溯算法的理解

  回溯法是一种选优搜索法,又称为试探法。它有“通用的解题法”之称,可以系统地搜索一个问题的所有解或任一解,他是一个既带有系统性又带有跳跃性的搜索算法。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。回溯法适合解组合数较大的问题。

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

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

  约束函数:代码中sum>t为一约束函数,表示如果当前子集和已超过所要的数,则不继续搜索

    if(sum > t)
                {
                    sum -= a[i-1];
                    b[i-1] = 0;
                    j--;
                }

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

  遇到的情况:在第五章的实践题中,0-1背包问题还需再熟悉其体现的回溯思想及剪枝。  

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

posted on 2019-12-19 20:17  WeN。  阅读(91)  评论(0编辑  收藏  举报