深搜与简单的动态规划.pptxVIP

  • 7
  • 0
  • 约7.69千字
  • 约 46页
  • 2022-10-26 发布于湖北
  • 举报
深搜与简单的动态规划1、数字三角形 有一个数字三角形,编程求从最顶层到最底层得一条路所经过位置上数字之与得最大值。每一步只能向左下或右下方向走。下图数据得路应为7-3-8-7-5,与为30。输入:第一行:R(1=R=100),数字三角形共有R行;以下R行:依次表示数字三角形中每行中得数字。每个数都就是非负得,且=100、输出:一个正整数,路径上数字之与得最大值。输入样例:573 88 1 02 7 4 44 5 2 6 5输出样例:30 7 3 8 8 1 0 2 7 4 44 5 2 6 5算法1:深度优先搜索算法DFS:二维数组a[i,j]存储数字三角形。Procedure dfs(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; dfs(sum+a[i+1,j],i+1,j); //向左下方走 dfs(sum+a[i+1,j+1],i+1,j+1); //向右下方走end; 7 3 8 8 1 0 2 7 4 44 5 2 6 5开始时:dfs(a[1,1],1,1);结果:max为什么当n较大时速度慢? 7 3 8 8 1 0 2 7

文档评论(0)

1亿VIP精品文档

相关文档