章節連結
從網路課程 程式必修課!離散數學與演算法 來淺嚐一下沒機會在課堂上所學的離散數學與演算法。或許對撰寫程式的效能提昇會有些幫助。
課程相關資訊
[連結]:https://hiskio.com/courses/1196/lectures/133861
本篇範圍:Chapter 11
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
Dijkstra 算法
需要先選定一個節點 node
Step1. 將 Graph 上所有點的距離,都標為無限大
Step2. 選定一個起始點,將其標註為 0 且拜訪過了
Step3. 將該點相鄰的 edge 長度標上
Step4. 選定一個 label node ( min Heap )當做拜訪過了,接著執行再用這個節點進行檢查。如果 node 的值 + edge 的值 < neighbor 的值,那就更新這個 neightbor 的值
Step5. 重複第四步直到所有節點都拜訪過了
系列文章
按讚加入粉絲團