首页 > 其他 > 详细

第三章总结

时间:2019-11-04 01:20:16      阅读:67      评论:0      收藏:0      [点我收藏+]

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

思想:问题的最优解如果可以由子问题的最优解推导得到,则可以先求解子问题的最优解,在构造原问题的最优解;若子问题有较多的重复出现,则可以自底向上从最终子问题向原问题逐步求解。

动态规划的问题往往比较复杂,直接解决难度较大,因此用以上方法,去寻找子问题的最优解,最后将其合并,对于解决动态规划问题有着很好的效果。

动态规划算法是一个自底而上求解的方法,且在计算过程中不需重复,节省时间,效率高。

 

2.1、2题的递归方程:

一.

 for (int i = 0; i < n; ++i)
{
        dis[i] = 1;
        for (int j = 0; j < i; ++j)
{
if (a[i] >= a[j] && dis[i] < dis[j] + 1)
{
                dis[i] = dis[j] + 1;
            }
        }
        if (dis[i] > max_len)
{
            max_len = dis[i];
        }
    }

二。 

for(int i=1;i<n;i++)
{
for(int j=i+1;j<=n;j++)
{
scanf("%d",&dp[i][j]);
}
}
for(int k=2;k<n;k++)
{
for(int i=1;i<=n-k;i++)
{
int j=i+k;
for(int z=i+1;z<=j;z++)
{
int temp=dp[i][z]+dp[z][j];
if(dp[i][j]>temp)
dp[i][j]=temp;
}
}
}
 

3.结对编程情况:

我与梁家铭同学相处融洽,课上一起相互讨论代码,他也常常给我建议,让我从中收益颇多。课余我们也会讨论作业,一起打题。

 

第三章总结

原文:https://www.cnblogs.com/DreamGCdog/p/11789927.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!