实现(第 2 部分)
Coddy 深度优先搜索:图算法 课程的第 6 课,共 9 课。
现在,我们使用栈遍历整个图。
挑战
中等现在来编写完整的遍历过程。
编写一个名为 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;
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
深度优先搜索:图算法中的所有课
自己练习: C 在线编译器