摘要:
1. 你对回溯算法的理解 回溯算法基本上就是从无数选择中选一条路往前走,能走就走,走不了就退回来,换一条路再试。 2. 你学习《算法分析与设计》课程的收获 让我对基础算法有所了解,至少可以说能在计算机这个专业入个门 3. 你在学习过程中曾遇到了哪些困难,希望老师或助教及时给予帮助。 很多题目在想解答 阅读全文
摘要:
1.对贪心算法的理解 在使用贪心算法时,需要保证整体问题的最优解包含目前最优子问题的解,这是与动态规划很像的,可以说贪心算法就是一种特殊的动态规划,然后我们要找出方法解决最优子问题,运用到整个问题上,依次解决所有子问题,最后得出整体问题最优解。 2.选择一道作业题目说明你的算法满足贪心选择性质 4- 阅读全文
摘要:
1. 任选作业题”单调递增最长子序列“、”挖地雷“、”编辑距离问题“中的一题分析。 单调递增最长子序列 1.1 根据最优子结构性质,列出递归方程式 dp[i]=max(dp[j],dp[i]-1)+1; 1.2 给出填表法中表的维度、填表范围和填表顺序。 很明显的表是一维的,从1自左往右填到1-n。 阅读全文
摘要:
1.实践题目名称 最大子列和问题 2.问题描述 7-1 最大子列和问题 (20分) 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和 阅读全文
摘要:
1.我认为分治法在解决一些特殊问题的时候可以大大减少时间复杂度,比如说在一个大问题可以分解成若干个和大问题性质基本相同的小问题时,就能将时间复杂度大大降低,或者可以通过递归再进行分解将大问题分解成无数个小问题来解决,但是有些时候分解太多反而会增加解决问题时间,所以在使用分治法时要提前考虑好分解问题的 阅读全文