算法导论 基本图算法 广度优先搜索
- 定义
- 图 G=(V,E); 图 G(graph)是由结点 V(vertex)和边 E(edge)组成
- 结点 u.d 表示结点 u 的发现时间(discovery time),u.f 表示结点 u 的结束访问时间(finish time)
- 图的两种表示方法
- 邻接链表(adjacency lists)
- 每个结点 u 都有一个 Adj[u]链表,链表中的元素都是与 u 相连的另一个结点 v,也就是一条边 E
- 邻接矩阵(adjacency matrix)
- 使用 |V| * |V| 矩阵 A=a(i,j)表示,如果存在结点 i 到结点 j 相连的边,则 a i j _{ij} ij=1,否则 a i j _{ij} ij=0
- 邻接链表(adjacency lists)
- 图 G=(V,E); 图 G(graph)是由结点 V(vertex)和边 E(edge)组成
- BFS(Breadth-first seach)算法
- 从源结点 s 访问完所有的邻接点,再递归访问邻接点的邻接点
- 源代码
- 运行结果