算法第三章作业

1.你对动态规划算法的理解

  对于动态规划算法,我将其与分治法进行对比。首先,两种算法都是有将问题进行分解的,但是不同的是动态规划中的子问题相互会有联系或者有重复利用的时候,所以动态规划可以很快解决出一些问题的最优解,避免大量的重复计算。

2.分别列出编程题1、2的递归方程

if(a[j]<a[i] && l[j]+1>l[i])
l[i] = l[j]+1;

for(int i=n-2;i>=1;i--)
for(int j=i+2;j<=n;j++){
for(int k=i+1;k<=j;k++){
int m = r[i][k]+r[k][j];
if(m<r[i][j]){
r[i][j]=m;

3.说明结对编程情况

结对编程过程中,加深体会了动态规划算法中的填表的方式,也注意到了很多细节的地方

原文地址:https://www.cnblogs.com/yanjingyin/p/9925472.html