博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法第3章上机实践报告
阅读量:5811 次
发布时间:2019-06-18

本文共 649 字,大约阅读时间需要 2 分钟。

1.实践题目

  数字三角形

2.问题描述

  给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。

QQ截图20170929023616.jpg

  

  输入格式:

  输入有n+1行:

  第 1 行是数字三角形的行数 n,1<=n<=100。接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。

  输出格式:

  输出最大路径的值。

  输入样例:

  在这里给出一组输入。例如:

  5    7    3 8    8 1 0    2 7 4 4   4 5 2 6 5

  输出样例:

  在这里给出相应的输出。例如:

  30

3.算法描述

  for(int i = n - 1; i >= 1; i--)

           for(int j = 1; j<= i; j++)
               res[i][j] = max(res[i+1][j] , res[i+1][j+1]) + res[i][j];  

4.算法时间及空间复杂度分析

  时间复杂度O(n²)两个for循环遍历二维数组时间复杂度为O(n²),max函数比较大小和相加运算的时间复杂度为O(1)

  空间复杂度O(n²)二维数组保存数字三角形的值

5.心得体会

  解决动态规划问题要先分析所有情况,写出状态转移方程,理清前后关系。

  

转载于:https://www.cnblogs.com/ZhengYongqiang/p/9942005.html

你可能感兴趣的文章
iOS 解决UITabelView刷新闪动
查看>>
让前端小姐姐愉快地开发表单
查看>>
Dubbo笔记(四)
查看>>
Web前端JQuery入门实战案例
查看>>
java B2B2C Springboot电子商城系统- SSO单点登录之OAuth2.0 登出流程(3)
查看>>
USB 通信原理
查看>>
7zZip zip RAR iOS
查看>>
date命令的详细用法!
查看>>
UiAutomator源码分析之UiAutomatorBridge框架
查看>>
python 开发之selenium
查看>>
Xcode3.2.5中找不到Mac OS X - Command Line Utility -...
查看>>
css的div垂直居中的方法,百分比div垂直居中
查看>>
如何理解EM算法
查看>>
nginx 域名跳转一例~~~(rewrite、proxy)
查看>>
linux用户家目录无损迁移到独立硬盘
查看>>
文件查找
查看>>
shell编程前言(一)
查看>>
5、centos7.*配置yum的EPEL源及其它源
查看>>
JSON前后台简单操作
查看>>
shell中一些常见的文件操作符
查看>>