有向图
4.2.1 定义
有向图(DiGraph): 一幅有方向性的图(有向图)是由一组顶点和一组有方向的边组成的,每条有方向的边都连接着有序的一对顶点。
4.2.2 有向图的数据类型
和无向图一样,一般使用邻接表表示有向图。 和无向图的差别是,有向图中的边是单向的。
4.2.3 有向图的可达性
单点或多点可达性
单点可达性:给定一幅有向图和一个起点 s, 判断是否存在一条从 s 到达给定顶点 v 的有向路径。
多点可达性:给定一幅有向图和顶点的集合,判断是否存在一条从集合中的任意顶点到达给定顶点 v 的有向路径。
这里写代码片
标记-清除的垃圾收集
有向图的寻路
单点有向路径
给定一幅有向图和一个起点 s,判断从 s 到给定的目的顶点 v 是否存在一条有向路径,如果存在,返回这条路径。
这里写代码片
单点最短有向路径
给定一幅有向图和一个起点 s,判断从 s 到给定的目的顶点 v 是否存在一条有向路径,如果存在,返回其中最短的那条路径(最短路径,即所含边数最少的路径)。
这里写代码片
4.2.4 环和有向无环图
有向图中的环
有向无环图
有向无环图(DAG)就是一幅不含有有向环的有向图。
4.2.5 有向图中的强连通性