Implementation (Part 1)
Coddyの「プリム法 - グラフアルゴリズム」コースのレッスン 5/9。
頂点から出る最もコストの低い辺から始めるのが、プリム法の最初の手順です。
チャレンジ
簡単プリム法の最初の手順は、開始頂点から出ているエッジを確認することです。そのルックアップ機能を構築しましょう。
edges というフラットな配列([u, v, w, ...] の3つ組で構成される無向グラフ)と頂点 node を受け取り、node に接しているすべてのエッジの中で最小の重みを返す minEdgeFrom という名前の関数を作成してください。node にエッジがない場合は、-1 を返してください。
例えば、minEdgeFrom([0,1,5, 0,2,3, 1,2,1], 0) は 3 を返します。
自分で試してみよう
#include <stdlib.h>
int minEdgeFrom(int* edges, int edges_size, int node) {
// ここにコードを記述してください
return -1;
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
プリム法 - グラフアルゴリズムのすべてのレッスン
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)