雙向BFS模板

如果已經知道搜索的開始狀態和結束狀態, 要找一個滿足某種條件的一條路徑(一般是最短路徑),爲了避免無謂的「組合爆炸」產生,就可以採取雙向廣度搜索算法,也就是從開始狀態和結束狀態同時開始搜索,一個向前搜,一個向後找。 這樣做的好處是什麼? 我們不妨假設每次搜索的分支因子是r,如果最短的路徑長爲L的話(也就是搜了L層),那麼,用一般的BFS算法(不考慮去掉重複狀態),總的搜索狀態數是r^L(^表示乘方
相關文章
相關標籤/搜索