iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0

遵循固定路線雖然比起隨機行走改善了效率
但如果能依據實際需要的路徑而調整路線,可讓效率更好

稍微岔出去說明一下什麼是 graph,跟 breadth-first search(BFS)
才會比較了解尋找最短路徑本身是怎麼運作的

Graph

虛擬世界各節點組成的路線就是 graph 型態
Graph 由**節點(Vertex/Node)邊(Edge)**構成

Undirected graph vs directed graph

如名稱所示。
有向圖與無向圖的差別就是有向圖的邊具方向性無向圖的邊不具方向性

  • 有向圖
    像是現實生活中的道路與地點的關係,道路可能為單行道或雙行道

  • 無向圖
    像人際網路,邊並不具有方向性

線上產生Graph的工具

即時生成圖像的網站
可以增加節點並連接各個節點
https://apps.zoomcharts.com/graph-editor/

Breadth-first search vs Depth-first search

廣度優先搜尋(BFS)跟深度優先搜尋(DFS)的差異就是

  • 廣度優先搜尋(Breadth-first search)
    先拜訪當下層級(layer)內的所有元素,逐層地(layer by layer)拜訪每個元素,用 queue 儲存

  • 深度優先搜尋(Depth-first search)
    先沿著其中一個分支盡可能深入的拜訪,先訪問父節點,然後訪問子節點,再訪問子節點的子節點(visit parent node then its child),用 stack 儲存

參考資料

Learn Graphs in 5 minutes
https://youtu.be/-VgHk7UMPP4?si=Rx3_thdIB613T6O9


上一篇
Chapter 7 實作專案-5(改良移動策略)-day26
系列文
溫故而知新:Eloquent Javascript 閱讀筆記27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言