Menu
Coddy logo textTech

Implementation (Part 2)

Coddyの「ダイクストラ法 - グラフアルゴリズム」コースのレッスン 6/9。

次に、貪欲な最短経路計算です。

challenge icon

チャレンジ

中級

それでは、完全なアルゴリズムを構築しましょう。

n、フラットな edges 配列(3つの値の組、有向、非負の重み)、および source を受け取り、位置 vsource から v への最短距離である配列を返す、dijkstra という名前の関数を作成してください。到達できない頂点には -1 を使用してください。

すべての距離を大きな「無限大」で開始し、source だけを 0 に設定します。その後、n 回、最も近い未訪問の頂点を確定させ、その頂点から出るエッジを緩和(relax)します。

自分で試してみよう

#include <stdlib.h>

int* dijkstra(int n, int* edges, int edges_size, int source, int* returnSize) {
    // ここにコードを記述してください
    *returnSize = 0;
    return edges;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ダイクストラ法 - グラフアルゴリズムのすべてのレッスン