码迷,mamicode.com
首页 > 编程语言 > 详细

算法第3章上机实践报告

时间:2018-11-10 21:12:29      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:一个   大于   接下来   pre   维数   心得体会   计算   动态规划   算法   

1、实践题目

       7-1 数字三角形 

2、问题描述

       给出一个数字三角形,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大

3、算法描述

     1)输入:

                   输入有n+1行:

               第 1 行是数字三角形的行数 n,1<=n<=100。

               接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。

  2)初始化一个行列均大于或等于n的二维数组
3)在原表的基础上填充表格
设数组a[i][i]
假设当前在a[j][n],若想a[j][n]往下加时最大,则a[j][n]=max(a[j+1][n],a[j+1][n+1])+a[j][n]
4、算法的时间复杂度为:O(n*n);
5、算法的空间复杂度
由于开辟了一个行列均为n的二维数组,故算法的空间复杂度
为:O(n*n);
6、心得体会(实践收获及疑惑总结)   
一开始是从上到下进行计算,如果当前一行的数i加上下一行的左方的数j大于i,则j等于j加,对右方的数进行同样的操作,这样到底端得到的就是最大值,但是这不是动态规划,后来又重新按照动态规划的方法做了一遍,总之,动态规划算法最核心的是要找出方程式。





算法第3章上机实践报告

标签:一个   大于   接下来   pre   维数   心得体会   计算   动态规划   算法   

原文地址:https://www.cnblogs.com/Li-Peiting/p/9890122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!