Menu
CoddyTech

实现(第 2 部分)

Coddy Dijkstra 算法:图算法 课程的第 6 课,共 9 课。

现在来进行贪心最短路径计算。

challenge icon

挑战

中等

现在来构建完整的算法。

编写一个名为 dijkstra 的函数,它接收 n、扁平的 edges 数组(由三元组组成,表示有向边,权重非负)和 source,并返回一个数组,其中位置 v 的值是从 source 到 v 的最短距离。对于无法到达的顶点,使用 -1。

将所有距离初始化为一个较大的“无穷大”,但将源点初始化为 0。然后,重复 n 次,确定距离最近的未访问顶点,并松弛它的出边。

亲手试试

#include <stdlib.h>

int* dijkstra(int n, int* edges, int edges_size, int source, int* returnSize) {
    // 在这里编写代码
    *returnSize = 0;
    return edges;
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

Dijkstra 算法:图算法中的所有课

自己练习: C 在线编译器