数据结构 算法 无向图 桥、割点 连通图 强连通图概念,

连通图:
无向图中vi到vj有路径(并不一定是邻接点)就称为vi到vj连通,如果图中任何两个顶点都是连通的则称图是连通的
无向图G的最大连通子图称为G的连通分量。对于连通图连通分量就是自己,对于非连通图会有两个或者两个以上连通分量

强连通和强连通分量
有向图中vi到vj有路径,vj到vi也有路径则称vi到vj强连通;如果图中任意两个顶点强连通则称该图为强连通图
有向图G的极大强连通子图称为该图的强连通分量,极大强连通指子图再加入一个节点就不是强连通图了
有向图单项连通称为弱连通

无向图的桥和割点
桥:无向连通图G去掉一条边e后成为两个不相连的子图,即连通分量大于2则称该边为图G的桥。去掉边时边的顶点不动
割点:无向连通图G去掉v节点和节点关联的所有边,如果图G变成两个或者以上的子图那么节点v称为图G的割点

割点与桥的关系
1、有割点不一定有桥,有桥一定有割点(顶点数大于2)
2、桥一定是割点依附的边

无向图双向连通分量
无向图不存在桥则称图为边双联通图,边双联通图中任意两个顶点之间都存在两条以上的路径,且路径的任意边不重复。
无向图不存在割点则称图为点双联通图,点双联通图中,如果顶点数大于2则任意连个点之间存在两条或者两条以上的路径,且路径经过的任意点不重复。
无向图极大边双联通子图称为边双联通分量,记为e-DCC
无向图极大点双联通子图称为点双联通分量,记为v-DCC

双联通分量缩点
点、边双联通缩成一个点,使用边e连接两个点,这样生成一个树
连通图总删除所有桥剩下的连通子图就是边双联通分量
点双联通分量不是删除割点后的图,而是包含割点本身
点双联通分量缩点,割点为顶点向点双联通子图总对应割点引边生成一个树