实现(第 2 部分)
Coddy 广度优先搜索:图算法 课程的第 6 课,共 9 课。
现在,我们使用队列按层遍历图。
挑战
中等现在来构建完整的遍历过程。
编写一个名为 bfs 的函数,它接受 n、扁平的 edges 数组(无向图)和一个 start 顶点,并返回 BFS 从 start 开始访问顶点的顺序。
构建邻接列表(邻居按升序排列),然后使用队列:标记并将起点入队,接着反复将一个顶点出队,记录它,并将尚未访问的邻居入队。只有从 start 可达的顶点才会被访问。
亲手试试
#include <stdlib.h>
int* bfs(int n, int* edges, int edges_size, int start, int* returnSize) {
// 在这里编写代码
*returnSize = 0;
return edges;
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
广度优先搜索:图算法中的所有课
自己练习: C 在线编译器