不是标题党,之前我也写过一篇比较全的,但是对于初学者不友好。传送门?

双连通分量(Biconnected component):

    1.边双联通 E-BCC

    2.点双连通 V-BCC

双连通分量分为点双连通(V-BCC)和边双连通(E-BCC),这是图论学习中一个很重要的知识点,也是图的变形转化的一个主要方法。通过V-BCC缩点可以求割边(桥),也可以通过E-BCC缩点求割点。这是我们今天讲的主要的内容。

1.边双连通分量

先说不好理解的定义:若一个无向图的点两两间都有两条不重合的路径,那么我们就称这个无向图是边-双连通的。

我们看看这个定义又是什么意思,任意两点都有两条不重合的路径,就是说任意点都有两条边可以到达,那么任意去掉一条边,肯定还有另一条边连接,也就是说这个图中不存在割边。所以这个图是边双连通图。

我们画个图来理解:

这下来大家应该明白什么边双连通了,接下来讲边双连通分量(分支) 。

所谓分支就是一个子图,那么边双连通分支就是说原图中最大的一个双连通分支的子图。一定是最大不然会影响结果。比较好理解,直接上图。

这个图有两个双连通分量, 边双连通分量,就是这么多内容。我们再讲讲边双连通分量缩点。

如果将双连通分支用一个点表示,那么就叫做E-DCC缩点。经过缩点后建的图必然不存双连通分量,图中存在的边都不在双连通分支中,也就是说缩点后的边都是桥。

2.点双连通分支

定义:任意两条边都在一个简单环中。

就是说没有割点。还是画图吧!

这两个最大连通子图就是点双联通分支,类比边双连通分支。

也就是说经过缩点后的图中的点除了只有一条边的的点都是割点。

我们下一期讲Tarjan算法求双连通分量。

最新文章

  1. linux实践之ELF文件分析
  2. h5交互元素details标签
  3. Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)
  4. goldengate一些参数整理
  5. 关于mac安装rails报错clang: error: unknown argument
  6. day05-java-(循环问题,数组)
  7. 如何把双引号包含到echo命令的字符串中
  8. Qt 添加外部库文件(四种方法)
  9. VI一个终端编辑多个文件的命令
  10. HDOJ 2015 偶数求和
  11. .net通用权限框架B/S(一)
  12. 防抖(Debouncing)和节流(Throttling)
  13. 创建Activity
  14. Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例
  15. 20年硅谷技术牛人到访DataPipeline谈:技术如何与业务平衡发展
  16. Cordova入门系列(一)创建项目 转发 https://www.cnblogs.com/lishuxue/p/6008678.html
  17. laravel之知识点
  18. gitLib操作笔录《一》:创建分支,切换分支,提交分支到远程,以及基本代码clone与更新提交到远程操作指令
  19. StringUtils.isEmpty StringUtils.isBlank
  20. 【学习笔记】分类算法-k近邻算法

热门文章

  1. Java第六天,API中常用的类,StringBuffer、StringBuilder、包装类、System类的使用
  2. Matlab入门(一)
  3. Activity A 跳转到Activity B 生命周期
  4. 第十三节:telnetlib、redis、threading模块
  5. Python的深浅copy详解
  6. 谁说 Vim 不好用?送你一个五彩斑斓的编辑器!
  7. Python实现按键精灵(一)-键鼠操作
  8. 重启mysql服务
  9. net core天马行空系列:降低net core门槛,数据库操作和http访问仅需写接口,实现类由框架动态生成
  10. AppBoxFuture: Web在线报表设计与PDF生成