1. 程式人生 > >bfs (寬度搜素)

bfs (寬度搜素)

位置信息 不能 str 最短路 二維數組 bsp 循環 每次 註意

bfs用於算最短路,因為最短路嘛,每步的存起來看其結果是否和要求就好。所以用隊列,註意要用struct隊列 因為要保存的信息較多,一般坐標,步數都要保存所以用struct。基本過程: 先入隊初始結構,然後while循環,條件隊列非空,取出來隊列首個結構,得到位置信息,創建新結構,朝所有符合要求方向延伸,這兒有技巧,用個2維數組,幾個方向就一個for循環做幾次,每次延伸一個方向,判斷是否符合條件,符合則入隊,要相同的元素註意不能入隊,要定個數組來區別是否訪入隊過,就是盤判斷坐標對應的值就OK,二維數組用來改變方向。基本就這樣。

bfs (寬度搜素)