[企业管理]动态规划1.pptVIP

  • 3
  • 0
  • 约6.79千字
  • 约 39页
  • 2018-02-20 发布于浙江
  • 举报
[企业管理]动态规划1

* 动态规划 【引例1、数字三角形】 有一个数字三角形,编程求从最顶层到最底层的一条路所经过位置上数字之和的最大值。每一步只能向左下或右下方向走。下图数据的路应为7-3-8-7-5,和为30。 输入: 第一行:R(1=R=100),数字三角形共有R行; 以下R行:依次表示数字三角形中每行中的数字。 每个数都是非负的,且=100. 输出:一个正整数,路径上数字之和的最大值。 输入样例: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出样例: 30 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 一、引例 算法一:深度优先搜索算法DFS: 二维数组a[i,j]存储数字三角形。 Procedure try(sum,i,j:integer); {从a[1,1]到走到第i行第j列即a[I,j]时所取得的值为sum} begin if i=n then begin if summax then max:=sum; exit; end; try(sum+a[i+1,j],i+1,j); {向左下方走} try(sum+a[i+1,j+1],i+1,j+1); {向右下方走} end; 开始时:try(a[1,1],1,1); 结果:max

文档评论(0)

1亿VIP精品文档

相关文档