Menu
CoddyTech

实现(第 2 部分)

Coddy 拓扑排序:图算法 课程的第 6 课,共 9 课。

现在,我们反复移除入度为 0 的顶点,以构建顺序。

challenge icon

挑战

中等

现在,构建完整的顺序。

编写一个名为 topologicalSort 的函数,它接收 n 和扁平的 edges 数组(有向边 u -> v),并返回顶点的拓扑顺序。

使用 Kahn 算法:计算入度,然后反复取入度为 0 的最小顶点,将它添加到结果中,并减少其出邻居的入度。本挑战的输入都是无环的。

每一步都取当前可用的最小顶点,这样答案就是唯一的。

亲手试试

#include <stdlib.h>

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

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

拓扑排序:图算法中的所有课

自己练习: C 在线编译器