1. 对回溯算法的理解

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

用回溯算法解决问题的一般步骤:
1、 针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。
2 、确定易于搜索的解空间结构,使得能用回溯法方便地搜索整个解空间 。
3 、以深度优先的方式搜索解空间,并且在搜索过程中用剪枝函数避免无效搜索。

回溯法可以理解为通过选择不同的岔路口寻找目的地,一个岔路口一个岔路口的去尝试找到目的地。如果走错了路,继续返回来找到岔路口的另一条路,直到找到目的地。

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

在学习《算法分析与设计》课程中,最重要的是我懂得了算法在程序中的重要性以及算法在现实生活中应用的广泛性,这让我离算法世界的距离大大地缩进了。在算法课中,我不仅学习到了分而治之法、动态规划法、贪心算法、回溯法等一系列著名的算法,而且更有力地巩固了我大一上学期所学习的数据结构,从而让我的计算机基础更加牢固。

 

3. 在学习过程中曾遇到的困难

(1)大一的C++和数据结构两门课程的基础打得并不扎实,在算法解题、打代码的过程中常遇到许多不懂的地方,需要重新回头复习,浪费了不少时间;
(2)有时候觉得没毛病的代码就是不通过,改代码浪费了许多时间,有时候会产生害怕做题的想法,总而言之还是有点懒;
(3)分而治之法跟动态规划法跟回溯法这三个算法其实我还不是很牢固,需要不断地去温习和看资料进行记忆

4. 对本门课程的教学的建议

(1)我觉得老师很有趣很认真很负责,对我们也很严格,上课也很有精神,总体来说老师教得很好很棒,希望老师继续加油!
(2)希望老师在课堂上能多点提问,这样我们每个人都会打起十二分精神来听课,就不会犯困了;在结对编程方面,能够起到相互督促共同进步的效果,希望能继续保持下去。

posted on 2020-12-20 01:23  calebJ  阅读(64)  评论(0)    收藏  举报