算法第三章作业
1.对动态规划算法的理解:动态规划算法是非常常见的算法,经常用于求解最优问题的解,其基本思想是将待求解问题分解成若干个子问题。这跟分治法类似,但其计算量是较少的,求解的子问题保存,当之后遇到相同的子问题便不需要再计算一便,大大的减少了计算量,但其空间占据也相较其他算法多,对空间需求量不大的题目来说,动态规划算法是优秀的选择方案。
2.编程题1、2的递归方程:
1.for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++)
{
if (a[j] < a[i]&& b[j]>b[i] - 1) {
b[i] = b[j] + 1;
}
}
}
2.if(m[j]+cost[j][i]<min)
min=m[j]+cost[j][i];
3.结对编程情况:
两人在编程上都有相互促进,相互帮助