算法第三章作业
1.1
定义:设d[i][j]表示从第 i 行第 j 列元素出发,到达三角形底部的最大路径和。
方程式:d[i][j]=t[i][j]+max(d[i+1][j],d[i+1][j+1])。
边界条件:三角形底部的d[n-1][j]=t[n-1][j]
1.2
表的维度:d[n][n]
填表范围:第0行到第n-1行,每行第0列到第i列。
填表顺序:从底部向上,每行从左到右填写。
原问题最优值:d[0][0]
1.3
时间复杂度:O(n²)
空间复杂度:O(n²)
2.
动态规划通过利用问题的最优子结构和重叠子问题特性,将复杂问题转化为逐步求解的子问题。动态规划和之前学的解题思路不同,实用且精妙,它教会我新方法,锻炼了我拆解问题的思维,让我有了一些进步。
浙公网安备 33010602011771号