当我谈回溯时,我谈些什么?及期末总结
1. 你对回溯算法的理解
回溯法是一种搜索的方式。回溯是递归的副产品,只要有递归就有回溯。
回溯法是好理解的算法,但是并不高效。因为回溯的本质是穷举,穷举所有可能,然后选出我们的答案。当然我们可以通过剪枝来提高些许效率。
既然回溯法不高效,为什么还要用它呢?
在我看来,回溯法是有技巧的暴力解法。当遇到一些只能通过暴力搜索解决的问题时,我们可能会想到用嵌套for循环解决,但是有些问题用嵌套for循环写都写不出来,想一下你怎么写50层for循环?
所以回溯法这时就派上用场了。用递归来解决嵌套层数的问题:每一次的递归中嵌套一个for循环,那么递归就可以用于解决多层嵌套循环的问题。
同时用树形结构来理解回溯就容易多了。
2. 你学习《算法分析与设计》课程的收获
收获:
1.学到了几种算法思想的基本解题思路。在刷题时不再是不知所措,会把题目往遇到过的算法解题思路上套。
3. 你在学习过程中曾遇到了哪些困难,希望老师或助教及时给予帮助。
无
4. 你对本门课程的教学有哪些建议
面向就业教学。