算法导论随笔(九):图(Graph)的进阶与图的遍历方式(DFS, BFS)

本文深入探讨图的连通性、双连通图概念及其双连通分量,详细阐述了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历过程,结合实例解析算法细节,适用于图论和算法学习者。
摘要由CSDN通过智能技术生成

在这篇文章中,我将介绍一些跟图有关的进阶术语,以及图的两种遍历方式,即DFS(深度优先搜索)和BFS(广度优先搜索)。对于文中使用的一些图的术语,可以读算法导论随笔(七):图(Graph)的表示(附Python实现源码)复习一下。首先让我们来看看连通图的概念。

1. 图的连通性

在一个无向图G中,对于两个顶点u和v,若u和v之间有路径则称u与v是连通的。如果图中任意两点都是连通的,那么图被称作连通图
如果G是有向图,那么连接u和v的路径中所有的边都必须同向
这种任意两个点都相同的特性叫做连通性。连通图具有连通性。

子图的概念:对于图G,其子图S具有如下属性:S的顶点集合是G的顶点集合的子集S的边的集合是G的边的集合的子集。若S的顶点集合是G的顶点集合的真子集,且S的边的集合是G的边的集合的真子集,则称S是G的真子图

极大子图:若P是G的子图,而且P不是G的任何其他的子图真子图,则P是G的极大子图。

连通分量:若一个图G的极大子图P连通图,则P是G的连通分量。对于一个连通图来说,它的连通分量为其自身;对于非连通图来说,它可能有多个连通分量。
例如下面的图,它不是连通图,因此有两个连通分量,分别用红色和蓝色标出。
在这里插入图片描述
接着,让我们来看看一个进阶概念。

2.双连通图

在了解双连通图(Biconnected Graph)的概念之前,让我们先了解一下分离边(separation edges)和分离顶点(Separation vertices)的概念。
首先,在一个图中,若删除一个顶点及与该顶点相邻的边会把这个图分裂为两个互不相连的图(也就是破坏了其连通性),则该顶点称为分离顶点
类似地,在一个图中,若删除一条边会导致这个图被分裂为两个互不相连的图,则该边称为分离边
例如下图中,顶点LGA,DFW和LAX是三个分离顶点,而红色的这条边是一条分离边。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值