Menu
CoddyTech

实现(第 2 部分)

Coddy 深度优先搜索:图算法 课程的第 6 课,共 9 课。

现在,我们使用栈遍历整个图。

challenge icon

挑战

中等

现在来编写完整的遍历过程。

编写一个名为 dfs 的函数,它接收 n、扁平的 edges 数组(无向图)和起始顶点 start,并返回 DFS 访问顶点的顺序,从 start 开始。

先构建邻接表(按升序排列每个顶点的邻居)。然后使用栈运行迭代式 DFS。只访问从 start 可达的顶点。

要按升序访问邻居,请按从大到小的顺序将它们压入栈中。

亲手试试

#include <stdlib.h>

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

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

深度优先搜索:图算法中的所有课

自己练习: C 在线编译器