• 沒有找到結果。

Programming III Dynamic

N/A
N/A
Protected

Academic year: 2022

Share "Programming III Dynamic"

Copied!
29
0
0

加載中.... (立即查看全文)

全文

(1)

Programming III

Michael Tsai 2011/10/14

(2)

(複習start)

(3)

DNA比對問題

你是我爸?!

(4)

答案在課本p.391

(5)

DNA比對問題最長共同子序列

(6)

暴力法有多暴力?

(7)

Dynamic Programming出招

1. 找出Optimal Substructure

(8)
(9)

(10)

Optimal Substructure

大問題的解裡面有小問題的解!

(11)

Overlapping subproblem

不同問題需要同樣子問題的解!

(12)

Dynamic Programming出招

2. 列出遞迴式子 (表示花費)

if i=0 or j=0

兩種選擇

條件不同, 使用的subproblem不同

(13)

Dynamic Programming出招

3. 計算花費

0 1 2 3

0 1 2 3 i j

每一格只用到左、

左上、上三格的資訊

使用bottom-up方法 兩層迴圈依序填入即可

(14)

(複習end)

(15)

翻譯機問題

the

machicolation

(16)

Tree

……

……

(17)

(18)

i 0 1 2 3 4 5 0.15 0.10 0.05 0.10 0.20 0.05 0.10 0.05 0.05 0.05 0.10

(19)

暴力法有多暴力?

(20)

1. 找出Optimal Substructure

(21)

矛盾!

(22)

如何用小問題的答案組出大問題的答案?

null

(23)

Dynamic Programming出招

2. 列出遞迴式子 (表示花費)

(24)

r有多種選擇

條件不同, 使用的subproblem不同

(25)

Dynamic Programming出招

3. 計算花費

w 0 1 2 3 4 5

1 2 3 4 5 6

w 0 1 2 3 4 5

1 2 3 4 5 6 i

j

(26)

e 0 1 2 3 4 5 1

2 3 4 5 6

e 0 1 2 3 4 5

1 2 3 4 5 6

橘色是會用到的subproblem i

j

一次填一條對角線

(27)

大家來練習

0 1 2 3 4 5

0.15 0.10 0.05 0.10 0.20 0.05 0.10 0.05 0.05 0.05 0.10

(28)

邊界起始值

填表: 兩層迴圈, 對角線順序

e紀錄expected cost, root紀錄選擇結果

(29)

Dynamic Programming出招

會出現在hw3 15.5-1 on p. 403

4. 印出Optimal Binary Search Tree結果

參考文獻

相關文件

debug 題:請問右邊這份 code 錯在哪( 題目在此).. What

• 我們通常用 nD/mD 來表示一個狀態 O(N^n) ,轉移 O(N^m) 的 dp 演算法. • 在做每題

• 也就是 ”我的dp是n^3”這句話本身不夠表示你的dp演算法,必須 要說“我的dp是個狀態n^2,轉移n”才夠精確. •

[r]

[r]

• 有一個可以耐重 W 的背包,及 N 種物品,每種物品有各自的重量 w[i] 和價值 v[i] ,且數量為 k[i] 個,求在不超過重量限制的情 況下往背包塞盡量多的東西,總價值最大為多少?.

依賴背包問題 and

creted by howard41436 edited by