[筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 54

重念一次早該補起來的「資料結構與演算法」。這篇筆記下動態規劃 Multistage Graph。

notes-theideaofalgorithm-javascript-1


課程相關資訊

[連結]:https://hiskio.com/courses/572/lectures/29917

本篇範圍:Chapter 10

請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。


內容

notes-theideaofalgorithm-javascript-54-1

遞迴

以最後要走到的節點為例子,那就是多重的 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 篇 – 8
  • [筆記] 程式必修課!資料結構與演算法|JavaScript 篇 – 7
  • [筆記] 程式必修課!資料結構與演算法|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
  • 按讚加入粉絲團

    延伸閱讀