第三次作业

1、实践报告
我们先用一个二维数组a来接收数据,并排成下三角的样子,再定义一个新数组b来存放每个位置对应的最大和
1.1 对于新数组b来说,除第一行外,剩下的每一行的每一个元素的值都等于该位置在a数组的值加上该位置上面或左上的最大值,用编程语言表示为b[i][j] = a[i][j] + max(b[i-1][j],b[i-1][j-1])
1.2 填表时,表的维度为n*n,填表范围为下三角,填表顺序为从上到下。原问题的最优解是最下面那行的最大值。
1.3 因为要解决该问题就需要填一个二维数组表格,所以该问题的时间复杂度和空间复杂度都为O(n^2)

2、我对动态规划算法的理解和体会
动态规划是一种解决多阶段决策问题的优化算法,核心思想是将复杂问题分解为若干个相互关联的子问题,通过求解子问题的最优解来推导原问题的最优解。它主要适用于具有重叠子问题和最优子结构性质的问题。

posted @ 2025-11-16 18:53  黄小冬  阅读(3)  评论(0)    收藏  举报