Implementation (Part 1)
Coddyの「深さ優先探索 - グラフアルゴリズム」コースのレッスン 5/9。
隣接ルックアップから開始して、DFSを構築します。
チャレンジ
簡単グラフを探索する前に、各頂点の隣接ノードを知る必要があります。フラットなエッジリストからそのルックアップを作成しましょう。
edges 配列(無向グラフのフラットなペア [u0, v0, u1, v1, ...])と頂点 node を受け取り、重複のないソートされた node の隣接ノードのリストを返す、getNeighbors という名前の関数を作成してください。
例えば、getNeighbors([0,1, 0,2, 1,2, 3,0], 0) は [1, 2, 3] を返します。
自分で試してみよう
#include <stdlib.h>
int* getNeighbors(int* edges, int edges_size, int node, int* returnSize) {
// ここにコードを記述してください
*returnSize = 0;
return edges;
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
深さ優先探索 - グラフアルゴリズムのすべてのレッスン
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)