有向图
定义
1、一幅有方向性的图(或有向图)是由一组顶点和一组有方向的边组成的,每条有方向的边都连接着有序的一对顶点
2、在一幅有向图中,有向路径由一系列顶点组成,对于其中的每个顶点都存在一条有向边(弧)从它指向序列中的下一个顶点
3、有向环:一条至少含有一条边且起点和终点相同的有向路径
4、简单有向环:一条(除了起点和终点必须相同之外)不含有重复的顶点和边的环
5、路径或者环的长度即为其中所包含的边数
6、单点可达性:给定一幅有向图和一个起点 s,是否存在一条从 s 到达给定顶点 v 的有向路径
7、多点可达性:给定一幅有向图和顶点的集合,是否存在一条从集合中的任意顶点到达给定顶点 v 的有向路径
性质
1、在有向图中,深度优先搜索标记由一个集合的顶点可达的所有顶点所需的时间与被标记的所有顶点的出度之和成正比
2、当且仅当一幅有向图是无环图时它才能进行拓扑排序
3、一幅有向无环图的拓扑顺序即为所有顶点的逆后序排列
(1)第一遍深度优先搜索保证了不存在有向环
(2)第二遍深度优先搜索产生了顶点的逆后序排列
(3)两次搜索都访问了所有的顶点和所有的边,因此它所需的时间和 V+E 成正比
强连通
1、两个顶点 v 和 w 是互相可达,既存在一条从 v到 w 的有向路径,也存在一条从 w 到 v 的有向路径
2、强连通的有向图:一幅有向图中的任意两个顶点都是强连通
3、性质
(1)自反性:任意顶点 v 和自己都是强连通的
(2)对称性:如果 v 和 w 是强连通的,那么 w 和 v 也是强连通的
(3)传递性:如果 v 和 w 是强连通的且 w 和 x 也是强连通的,那么 v 和 x 也是强连通的
4、强连通分量
(1)强连通性将所有顶点分为了一些等价类,每个等价类都是由相互均为强连通的顶点的最大子集组成
(2)一个含有 V 个顶点的有向图含有 1 ~ V 个强连通分量
(3)一个强连通图只含有一个强连通分量
(4)一个有向无环图中则含有 V 个强连通分量
(5)强连通分量的定义是基于顶点的,而非边
(6)有些边连接的两个顶点都在同一个强连通分量中,而有些边连接的两个顶点则在不同的强连通分量中,后者不会出现在任何有向环之中
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战