演算法第三章實踐總結

2022-09-13 09:27:10 字數 670 閱讀 8542

7-1 數字三角形 (30 分)

給定乙個由 n行數字組成的數字三角形如下圖所示。試設計乙個演算法,計算出從三角形 的頂至底的一條路徑(每一步可沿左斜線向下或右斜線向下),使該路徑經過的數字總和最大。

輸入有n+1行:

第 1 行是數字三角形的行數 n,1<=n<=100。

接下來 n行是數字三角形各行中的數字。所有數字在0..99 之間。

輸出最大路徑的值。

在這裡給出一組輸入。例如:

5 

7 3 8

8 1 0

2 7 4 4

4 5 2 6 5

在這裡給出相應的輸出。例如:

30

#include

using namespace std;

int main()

}for(i=n;i>=1;i=i-1)

else}}

cout

}總結:把乙個大問題分解成幾個小問題,從下而上查詢,比較下面兩個數的大小,大的與對應的上面一行的數相加,使上面一行的數增大,最後第一行的數計算完成時就是最大的數。

演算法第三章總結

動態規劃演算法的理解 就是把乙個大問題變成很多個小問題,並通過求出小問題的最優解,利用他們的關係逐一求出其他問題的最優解。動態規劃應用於子問題重疊的情況 要去刻畫最優解的結構特徵 嘗試遞迴地定義最優解的值 就是我們常說的考慮從 i 1 i 1 轉移到 ii 計算最優解 利用計算出的資訊構造乙個最優解...

第三章總結

1.dom操作 1.1dom操作分類 1 dom core 2.html dom 3 css dom 1.2節點和節點關係 整個文件是乙個文件節點 每個html標籤是乙個元素節點。包含在html元素中的文字是文字節點 每個html屬性是乙個屬性節點 注釋屬於注釋節點 父節點與子節點的關係 在節點數中...

第三章總結

今天學習了第3章的內容,學習了前兩章的內容,對於c語言的學習也漸漸開始有點感覺了,看到了題目也能夠有自己的思路,不像一開始看到題目沒有一點的思緒。第三章呢,要求我們掌握以下幾點 1.運算子和表示式的使用 2.自加,自減操作符的使用 3.位運算 今天這一章呢講的還是一些c語言中的一些符號以及表示式概念...