[LIOJ] BFS 廣度優先搜尋 走迷宮

用來 debug 的精美 table

總算是把 LIOJ 上的題目都解完了,當初碰到最後兩題時我覺得我一輩子都當不了工程師了(連這個都不會還想轉職R),雖然 Huli 回覆我的 Lidemy程式導師計畫第四期 報名信時提到這兩題比較進階可以放著不管,但是有解不開的問題放在那裡讓我強迫症發作,無論如何都想破解開來。

強迫症示意圖

這一題原本是想用 DPS 深度優先搜尋的,不過做法有錯所以找不出答案,不過用現在的程式碼更改一下應該也行。目前的程式碼如下:

遇到問題通通 console.log() 下去

BFS 跟 DFS 做法不太一樣,會需要一個隊列來放入找到的節點,全部找完了再來處理隊列裡的節點。DFS 則是找到一個節點就繼續走下去,直到終點或是死路了才回頭到上一個岔路。

最後推薦一些解題過程中找的參考資料,概念都解釋得很清楚:

深度優先搜尋法
廣度優先搜尋法