算法第五章作业及学期总结

一、对回溯算法的理解

1.回溯法是一种以深度优先方式系统搜索问题解的算法,适合解组合数较大的问题,在通过遍历所有路径上,通过回溯筛除不可能的路径;在求解问题的所有解时,要回溯到根,且根节点的所有子树都要被搜索到才结束;回溯法求问题的一个解时,只要搜索到问题的一个解就可以结束。

2.回溯法的步骤:

1)明确定义的解空间(至少包含问题的一个最优解),构造解空间树--子集树(从n个元素的集合S中找出满足某种性质的子集)和排列树(确定n个元素满足某种性质的排列)。

2)以深度优先的方式搜索解空间:迭代和递归

3)采用剪枝函数来避免无效搜索,提高回溯法的搜索效率:用约束函数在扩展结点处剪去不满足约束的子树、用限界函数剪去得不到最优解的子树。

 

二、学习《算法分析与设计》课程的收获

  通过《算法分析与设计》的这门课,我学习了几个有用的算法知识,比如:分治法、二分法、动态规划法、贪心算法、回溯法等,这些算法有自己所适用的范围,每次学习完一种新的算法,都会感觉这个算法的神奇。每次在做PTA里面的作业时,也能巩固并收获到一开始被忽略的知识,也让我更会主动地去掌握所学章节的思想。

 

三、在学习过程中遇到了哪些困难,希望老师或助教及时给予帮助

  有时候对部分题目没有思路,而且书上有时也找不到相应的代码,就只能参考老师所给的代码或上网参考别人的代码,所以有时作业是按照别人的思路进行修改的,所以还是希望能对老师上课所讲的内容可以有更深刻的理解和运用,希望老师可以提供更多的详细代码在学者网上,加强我们对该题算法的理解。

 

四、对本门课程的教学有什么建议

  可以在每章节结束后有个从简到易的章节题库,就搜集那些典型代码,可以更好让我们对本章的知识有个总体的掌握,从典型代码中把握该算法的中心点。

posted @ 2020-12-18 00:45  虾呀  阅读(128)  评论(0编辑  收藏  举报