Implementation (Part 2)
Coddyの「幅優先探索 - グラフアルゴリズム」コースのレッスン 6/9。
次に、キューを使用してグラフを層ごとに探索します。
チャレンジ
中級それでは、完全な探索を構築しましょう。
n、フラットな edges 配列(無向)、および start 頂点を受け取り、BFSが start から頂点を訪問する順序を返す bfs という名前の関数を作成してください。
隣接リスト(隣接ノードは昇順にソート)を構築し、キューを使用します。開始地点をマークしてエンキューし、繰り返し頂点をデキューして記録し、未訪問の隣接ノードをエンキューします。start から到達可能な頂点のみが訪問されます。
自分で試してみよう
#include <stdlib.h>
int* bfs(int n, int* edges, int edges_size, int start, int* returnSize) {
// ここにコードを記述してください
*returnSize = 0;
return edges;
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
幅優先探索 - グラフアルゴリズムのすべてのレッスン
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)