huxiaoqinggdufs

导航

 

一、按照动态规划法的求解步骤分析作业题目“数字三角形”:
1.1 根据最优子结构性质,列出递归方程式,说明方程式的定义、边界条件:
从三角形顶部出发,每次只能向下或向右下移动,最终到达底部时,找到一条路径上数字之和最大的路径。
①最优子结构性质:若要得到从第 i 行第 j 列元素到三角形底部的最大路径和,只需先得到其下方(i+1 行 j 列)和右下方(i+1 行 j+1 列)元素到底部的最大路径和,再加上当前元素值即可。
②递归方程式定义:设 dp [i][j] 表示从第 i 行第 j 列元素到三角形底部的最大路径和,递归方程式为:dp [i][j] = t [i][j] + max (dp [i+1][j], dp [i+1][j+1])
③边界条件:三角形最后一行到自身的最大路径和就是其自身值,即当 i 为三角形的行数 n-1时,dp [n-1][j] = t [n-1][j]
1.2 给出填表法中表的维度、填表范围和填表顺序。以及原问题的最优值是哪个表格元素:
①表的维度:二维表格 dp,为 n×n。
②填表范围:表格的填充范围为第 i 行(0≤i≤n-1)的第 0 列到第 i 列(0≤j≤i)。
③填表顺序:由于 dp [i][j] 依赖于 dp [i+1][j] 和 dp [i+1][j+1],需从底部向上填表。
④原问题的最优值:原问题的最优值为 dp [0][0]。
1.3 分析该算法的时间和空间复杂度
时间复杂度为 O (n²),空间复杂度降至 O (n)。
二、你对动态规划算法的理解和体会
动态规划将大问题分解为小问题,通过存储小问题的最优解避免重复计算”,子问题存在重叠性,且具有最优子结构性质。需要定义状态、确定最优子结构、列出递归方程式、设定边界条件。

posted on 2025-11-15 17:04  胡晓青  阅读(0)  评论(0)    收藏  举报