廣度優先搜尋(BFS)

2021-10-03 15:30:19 字數 594 閱讀 2599

leetcode題目:腐爛的橘子

在給定的網格中,每個單元格可以有以下三個值之一:

值 0 代表空單元格;

值 1 代表新鮮橘子;

值 2 代表腐爛的橘子。

每分鐘,任何與腐爛的橘子(在 4 個正方向上)相鄰的新鮮橘子都會腐爛。

返回直到單元格中沒有新鮮橘子為止所必須經過的最小分鐘數。如果不可能,返回 -1。

初始化佇列,最開始的壞橘子全部入隊。

將佇列裡的壞橘子周圍全部黑化(上下左右),將黑化後的壞橘子入隊。

如果佇列不為空,說明這一次有黑化,step+1;

如果隊列為空,說明這一次沒有任何橘子黑化,end;

int orangesrotting(vector> &grid) );

}vector> nxt = ,,,

};while (!rot.empty()) );

fresh--;}}

}if (!rot.empty()) min++;

}//最後判斷是否仍存在新鮮橘子

return fresh ? -1 : min;

}

BFS廣度優先搜尋

廣度優先搜尋,利用佇列實現,結束標誌是隊列為空的時候 承接dfs的演算法實現的講例,對於迷宮問題我們也可以採取廣度優先搜尋實現 include iostream include cstdio include cstdlib using namespace std int map 55 55 int ...

bfs廣度優先搜尋

這一課我們來學習圖的另一種遍歷方法 廣度優先搜尋 breadth first search,簡稱 bfs 這是一種連通圖的常用遍歷策略,通常用於求起點到各點的最短路徑,以及求兩點之間的最優路徑等問題。首先我們先來看看廣度優先搜尋的具體方法吧 對於乙個連通圖,我們假設一開始所有頂點均未被訪問,廣度優先...

廣度優先搜尋bfs

bfs即廣度優先搜尋演算法,其是搜尋演算法中的一種。1.dfs常用於尋找是否存在解 其從a節點出發,選取乙個臨近點b,然後不斷深入,在搜尋完b的下屬節點 ehif 後,回到a再搜尋臨近a的c節點,以此類推。2.bfs則用於在最短的時間或最少的移動距離內找到解 其往往從a節點出發,搜尋周圍所有的圍繞節...