重念一次早該補起來的「資料結構與演算法」。這篇筆記下動態規劃 Multistage Graph。
課程相關資訊
[連結]:https://hiskio.com/courses/572/lectures/29917
本篇範圍:Chapter 10
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
遞迴
以最後要走到的節點為例子,那就是多重的 Math.min 取值
dist(A,F) = Math.min(dist(A,D) + 1, dist(A,E) + 7 ) = Math.min(8, 16) = 8
dist(A,D) = Math.min(dist(A,B) + 1, dist(A,C) + 2 ) = Math.min(7, 7) = 7
dist(A,E) = dist(A,C) + 4 = 9
dist(A,B) = 6
dist(A,C) = 5
綜合以上,你可以找出 A -> F 的最短路徑是 8。至於路線可以是 A->B->D->F 或是 A->C->D->F
動態規劃
製作一個表格如下,分別依序計算出 Math.min 的最小值。如此一來可避免重複計算
|
A |
B |
C |
D |
E |
F |
A |
0 |
6 |
5 |
7 |
9 |
8 |
系列文章
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 9
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 81
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 80
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 8
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 79
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 78
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 77
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 76
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 75
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 74
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 73
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 72
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 71
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 70
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 7
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 69
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 68
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 67
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 66
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 65
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 64
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 63
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 62
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 61
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 60
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 6
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 59
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 58
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 57
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 56
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 55
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 53
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 52
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 51
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 50
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 5
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 49
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 48
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 47
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 46
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 45
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 44
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 43
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 42
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 41
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 40
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 4
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 39
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 38
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 37
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 36
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 35
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 34
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 33
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 32
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 31
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 30
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 3
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 29
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 28
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 27
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 26
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 25
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 24
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 23
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 22
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 21
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 20
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 2
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 19
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 18
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 17
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 16
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 15
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 14
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 13
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 12
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 11
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 10
[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 1
按讚加入粉絲團延伸閱讀