動態規劃初步 數字三角形

2022-08-20 14:57:13 字數 864 閱讀 4312

從上往下求和, 求最大和的路徑.

3        2

4       10       1

分析: 從下向上求和

附**和執行結果:

遞推計算和遞迴求和, 它們都會把前一步的計算結果儲存下來

樹(好吧我蛋疼了.....這裡面用佇列來逐層build和print..這個才更像重點=v=):

typedef struct node node;

node *root;

node *newnode()

void printtree() else

front ++;

}}void addnode(int value)

if (sn->right == null )

queue[rear++] = sn->left;

queue[rear++] = sn->right;

front ++;

}}void buildsum(node *node)

if (node->right != null )

node->sum = max;

}int main()

buildsum(root);

printtree();

return 0;

}

動態規劃初步 數字三角形

問題描述 有乙個由非負整數組成的三角形,第一行只有乙個數,除了最下行之外每個數的左下方和右下方各有乙個數。從第一行的數開始,每次可以往左下或右下走一格,直到走到最下行,把沿途經過的數全部加起來,如何走才能使得這個和盡量大 若熟悉回溯法,會發現這是個動態的決策問題 每次有兩種選擇 左下或右下。若用回溯...

動態規劃 數字三角形

如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。第一行是數塔層數n 1 n 100 第二行起,按數塔圖形,有乙個或多個的整數,表示該層節點的值,共有n行。輸出最大值。5 1311 8 12 7 26 6 14 15 8 12 7...

動態規劃 數字三角形

7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的數字三角形中尋找一條從頂部到底邊的路徑,使得 路徑上所經過的數字之和最大。路徑上的每一步都只能往左下或 右下走。只需要求出這個最大和即可,不必給出具體路徑。三角形的行數大於1小於等於100,數字為 0 99 5 三角形行數。下面是三...