无向图求桥的几种方法(无重边)

目录

前言:

法一:计算连通分量的基准法

描述:

时间复杂度分析:

数据:

法二:找结点基准法

描述:

时间复杂度分析:

数据:

法三:并查集

描述:

按秩合并:

路径压缩:

时间复杂度分析:

数据:

法四:生成树筛边基准法

描述:

时间复杂度分析:

数据:

法五:生成树筛边并查集

描述:

时间复杂度分析:

数据:

法六、Tarjan算法

描述:

实现细节:

举例:

时间复杂度分析:

数据:


前言:

一图中求桥的方法有很多种,以下介绍6种求桥的方法

有一个结论:当图的连通子图的个数 ≥ 2的时候,邻接表一定比矩阵快

举例:假设一个图有10000个结点,其中的一个连通子图只有3个结点2条边,那么在判断这个结点上的2条边是否为桥的时候,邻接表只需要2次即可找到这2条边,而矩阵需要2*10000次才可以找到这2条边

所以后文中图的存储结构都是采用的邻接表,不会混用邻接表和邻接矩阵

法一:计算连通分量的基准法

描述:

假设边e连接着2个顶点v1和v2

对全图做DFS计算出连通子图个数k1

删掉边e

再对全图做DFS计算出连通子图个数k2

若k2<k1则边e为桥

时间复杂度分析:

对全图做DFS需要O(n+e)

有e条边

需要对全图做e次DFS,总时间为O(en+e²)

稀疏图:O(n²)

稠密图:O(n^4)

数据:

                     &nb

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值