遵循固定路線雖然比起隨機行走改善了效率
但如果能依據實際需要的路徑而調整路線,可讓效率更好
稍微岔出去說明一下什麼是 graph,跟 breadth-first search(BFS)
才會比較了解尋找最短路徑本身是怎麼運作的
虛擬世界各節點組成的路線就是 graph 型態
Graph 由**節點(Vertex/Node)與邊(Edge)**構成
如名稱所示。
有向圖與無向圖的差別就是有向圖的邊具方向性,無向圖的邊不具方向性
有向圖
像是現實生活中的道路與地點的關係,道路可能為單行道或雙行道
無向圖
像人際網路,邊並不具有方向性
即時生成圖像的網站
可以增加節點並連接各個節點
https://apps.zoomcharts.com/graph-editor/
廣度優先搜尋(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