算法设计与分析第三章作业

软工2303温利兰 2024-11-03 23:43:37

(1)状态表示:

  f[i][j]:从 (1,1) 到 (i,j) 路径数字和最小值,路径只能从上方或左方来。

(2)状态方程:

  i>1时,f[i][j]=min(f[i][j],f[i - 1][j]+w[i][j])

  j>1时,f[i][j]=min(f[i][j],f[i][j - 1]+w[i][j])

(3)边界条件:

  i==1&&j==1时,f[i][j]=w[i][j]

(4)时间、空间复杂度分析:

    时间复杂度:O(n^2),两层n次循环。

    空间复杂度:O(n^2),fw二维数组。

动态规划关键在于通过存储子问题的解避免重复计算。就是把大问题拆成小问题,把小问题的答案存起来。先定好每个小问题的状态,再找出状态之间的关系,还要知道最初的情况。这样就能高效解决复杂问题,关键是要分析好问题,找对这些关键元素。

...全文
34 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧