算法第五章作业及学期总结
1. 你对回溯算法的理解
回溯算法有点穷举法的味道,就是运用剪枝函数把很多无效的可能值进行筛选,从而提高了程序效率。使用回溯法之前,要分析问题,把问题的所有可能解数字化,使之能够成为一个解空间树。构造出解空间树之后,就要设计剪枝函数来对代码进行优化,剪枝函数有两种,一种是约束函数,另一种是限界函数。剪枝函数可谓是回溯算法中的灵魂。正确合适地设计好剪枝函数能够有效地优化算法。
2. 你学习《算法分析与设计》课程的收获
我入门了4种基本算法:分治算法、动态规划算法、贪心算法、回溯算法。由于自己做的代码练习不够,所以只是浅薄地了解了4种算法的基本思想,还不是很能够得到其中的精髓。我觉得上机结对编程,在一定程度上是可以促进同学之间的代码交流和讨论的。不过还是准备回答老师的问题的那个过程,最能理清算法思路。
3. 你在学习过程中曾遇到了哪些困难,希望老师或助教及时给予帮助。
某种算法在不同具体问题上的实现可能会不太相同,我在PTA的编程练习中常常会遇到困难,恰在一个地方解决不了,希望老师和助教能在课后作业辅导上也给予一定的帮助。
4. 你对本门课程的教学有哪些建议
老师很有耐心,也很亲切,授课水平也很不错。不过有时有些算法思想植入地有些太生硬了,我不是很能立刻想到要那样子去解决问题,希望本课程的教学对解决问题从何下手,怎样思考问题等方面可以再补充一些。