图论导引 - 第三章 第一节:连通性 - 11/09

news/2024/11/14 14:46:53/

章节概述

第三章(Paths and cycles)主要讲述了路径和循环相关的图论知识,包括四个部分:连通性、欧拉图、哈密顿图、一些相关算法应用。

连通性 Connectivity

通道 walk

给定一个图 G G G G G G中的一条通道(或称为**“链”)是形如 v 0 v 1 、 v 1 v 2 、 ⋅ ⋅ ⋅ 、 v m − 1 v m v_{0}v_{1}、v_{1}v_{2}、··· 、v_{m - 1}v_{m} v0v1v1v2⋅⋅⋅vm1vm有限边序列**,也可记为 v 0 → v 1 → v 2 → ⋯ → v m v_{0} \to v_{1} \to v_{2} \to \cdots \to v_{m} v0v1v2vm,其中任意两条连续的边是相邻的或相同的

  • 一条通道确定了一个顶点序列 v 0 , v 1 , ⋅ ⋅ ⋅ , v m v_{0},v_{1},···,v_{m} v0,v1,⋅⋅⋅,vm
  • 我们称 v 0 v_{0} v0 为通道的起始顶点(initial vertex), v m v_{m} vm 为通道的终止顶点(final vertex),并说这是一条从 v 0 v_{0} v0 v m v_{m} vm 的通道。
  • 通道中的边数称为其长度(length)。

在这里插入图片描述

迹 trail 和 路径 path

  • 所有边都互不相同的通道是一条迹(trail)。

  • 此外,如果所有顶点 v 0 , v 1 , ⋯ , v m v_{0}, v_{1}, \cdots, v_{m} v0,v1,,vm 都互不相同(除了 v 0 = v m v_{0}=v_{m} v0=vm​),那么这条迹就是一条路径(path)。

    • 如果 v 0 = v m v_{0}=v_{m} v0=vm,则路径或迹是封闭的(closed),并且包含至少一条边的封闭路径是一个圈(cycle)
    • 注意,任何环(loop)或一对多重边都是一个圈。

在这里插入图片描述

连通图

当且仅当每对顶点之间都存在一条路径时,图是连通的。

在这里插入图片描述

二部图 Bipartite Graph

当且仅当 G G G每个圈(cycle)都具有偶数长度时, G G G 是二分图。

定理5.1:如果 G G G 是一个二分图,那么 G G G 的每个圈都具有偶数长度。

证明:

  • 因为 G G G 是二分图,所以我们可以将其顶点集划分为两个不相交的集合 A A A B B B,使得 G G G 的每条边都连接 A A A 中的一个顶点和 B B B 中的一个顶点。
  • v 0 → v 1 → ⋯ → v m → v 0 v_{0} \to v_{1} \to \cdots \to v_{m} \to v_{0} v0v1vmv0 G G G 中的一个环,并且假设 v 0 v_{0} v0 A A A 中。那么 v 1 v_{1} v1 B B B 中, v 2 v_{2} v2 A A A 中,依此类推。由于 v m v_{m} vm 必定在 B B B 中,所以这个回路的长度肯定是偶数。

简单连通图的边数限制

一个具有 n n n 个顶点的简单连通图,当没有回路时边数最少,为 n − 1 n-1 n1 条边;当该图是完全图时边数最多,为 n ( n − 1 ) / 2 n(n-1)/2 n(n1)/2 条边。

定理5.2:设 G G G 是一个具有 n n n 个顶点的简单图。如果 G G G k k k 个连通分量,那么 G G G 的边数 m m m 满足 n − k ≤ m ≤ ( n − k ) ( n − k + 1 ) / 2 n - k \leq m \leq (n - k)(n - k + 1)/2 nkm(nk)(nk+1)/2

证明:

  • 证下界:

    • 假设每个连通分量 C i C_i Ci 中有 n i n_i ni 个顶点,图 G G G 的总顶点数为 n = ∑ i = 1 k n i n=\sum_{i=1}^{k} n_{i} n=i=1kni
    • 一个连通分量中, n i n_i ni 个顶点至少有 n i − 1 n_i-1 ni1 条边连接
    • k k k 个连通分量,至少有 ∑ i = 1 k ( n i − 1 ) \sum_{i=1}^{k} (n_{i}-1) i=1k(ni1) 条边,计算 ∑ i = 1 k ( n i − 1 ) = ∑ i = 1 k n i − k = n − k \sum_{i=1}^{k} (n_{i}-1)=\sum_{i=1}^{k} n_{i}-k=n-k i=1k(ni1)=i=1knik=nk
    • 对于 k k k 个连通分量,至少有 n − k n-k nk 条边,得证。
  • 证上界:

    • 为了证明上限,假设 G G G 的每个连通分量都是完全图,这样才有可能达到最多的边数。

    • 假设有两个连通分量 C i C_{i} Ci C j C_{j} Cj,分别有 n i n_{i} ni 个和 n j n_{j} nj 个顶点,其中 n i ≥ n j > 1 n_{i}\geq n_{j}>1 ninj>1。如果我们用具有 n i + 1 n_{i}+1 ni+1 个顶点和 n j − 1 n_{j}-1 nj1 个顶点的完全图分别替换 C i C_{i} Ci C j C_{j} Cj,那么顶点总数保持不变,而边的数量变化为
      { ( n i + 1 ) n i − n i ( n i − 1 ) 2 } − { n j ( n j − 1 ) − ( n j − 1 ) ( n j − 2 ) 2 } = n i − n j + 1 \{\frac{(n_{i}+1)n_{i}-n_{i}(n_{i}-1)}{2}\}-\{\frac{n_{j}(n_{j}-1)-(n_{j}-1)(n_{j}-2)}{2}\}=n_{i}-n_{j}+1 {2(ni+1)nini(ni1)}{2nj(nj1)(nj1)(nj2)}=ninj+1

    • 由于 n i − n j + 1 n_i-n_j+1 ninj+1 肯定是一个正数,因此边数在增多。为了让边的数量最大,需要不断增加一个连通分量的顶点,减少另外连通分量的顶点。

    • 由此可知, G G G 必须由一个具有 n − k + 1 n - k + 1 nk+1 个顶点的完全图和 k − 1 k - 1 k1​​ 个孤立顶点组成

    • 具有 n − k + 1 n - k + 1 nk+1 个顶点的完全图的边数为 ( n − k ) ( n − k + 1 ) / 2 (n - k)(n - k + 1)/2 (nk)(nk+1)/2,得证。

推论5.3:任何具有 n n n 个顶点且边数多于 ( n − 1 ) ( n − 2 ) / 2 (n - 1)(n - 2)/2 (n1)(n2)/2​ 的简单图都是连通的。

证明:

  • 把任意一个图 G G G 分成包含 n − 1 n-1 n1 个顶点的子图和一个顶点 n 0 n_0 n0

  • 只需要保证包含 n − 1 n-1 n1 个顶点的子图是完全图,再用其余的边连接最后一个顶点 n 0 n_0 n0

  • 顶点个数为 n − 1 n-1 n1 的完全图的边数为 ( n − 1 ) ( n − 2 ) / 2 (n-1)(n-2)/2 (n1)(n2)/2,那么只要边数多余 ( n − 1 ) ( n − 2 ) / 2 (n-1)(n-2)/2 (n1)(n2)/2 则整个图 G G G 必定是完全图。

断集、割集和桥

  • 如何衡量一个连通图的连通性有多强?

    • 看看移除多少条边或顶点才能使连通图不连通
    • 点连通度、边连通度
  • 断集 disconnecting set

    • 在连通图 G G G 中,一个断集是一组边的集合,移除集合中的这些边会使 G G G 不连通。断集是使得图失去连通性的边集。

      在这里插入图片描述

  • 割集 cutset

    • 一个断集的任何真子集都不是断集,则称该断集为割集
    • 移除割集中的边总是会留下一个恰好有两个连通分量的图
    • 在上图 5.3 中, { e 3 , e 6 , e 7 , e 8 } \{e_3,e_6,e_7,e_8\} {e3,e6,e7,e8} 是割集。
  • 桥 bridge

    • 如果一个割集只有一条边 e e e,我们称 e e e​ 为

      在这里插入图片描述

  • 边连通度 λ ( G ) \lambda(G) λ(G)

    • 如果 G G G 是连通的,它的边连通度 λ ( G ) \lambda(G) λ(G) G G G最小割集的大小。因此, λ ( G ) \lambda(G) λ(G)为使 G G G 不连通而需要删除的最少边数
    • 如果 λ ( G ) ≥ k \lambda(G)\geq k λ(G)k,那么 G G G k k k​ 边连通的。

分离集和割点

  • 分离集 separating set

    • 在连通图 G G G 中,一个分离集是一组顶点,删除这些顶点会使 G G G 不连通;当删除一个顶点时,也会移除与顶点关联的边。

      在这里插入图片描述

  • 割点 cut-vertex

    • 如果一个分离集只包含一个顶点 v v v,我们称 v v v割点

      在这里插入图片描述

  • 点连通度 κ ( G ) \kappa(G) κ(G)

    • 如果 G G G 是连通的且不是完全图,它的顶点连通度 κ ( G ) \kappa(G) κ(G) G G G最小分离集的大小 κ ( G ) \kappa(G) κ(G) 是为使 G G G 不连通而需要删除的最少顶点数
    • 如果 κ ( G ) ≥ k \kappa(G)\geq k κ(G)k,那么 G G G k k k 连通的。
    • 可以证明,如果 G G G 是任何连通图,那么 κ ( G ) ≤ λ ( G ) \kappa(G)\leq\lambda(G) κ(G)λ(G)​。
      • 直观理解,一个顶点可能与多条边相关联,删除一个顶点可能会导致与该顶点相连的所有边都失去作用,从而更容易使图变得不连通;而删除一条边只会影响与该边直接相关的两个顶点之间的连接。
      • 所以,为了使图不连通,需要删除的顶点数量通常不会超过需要删除的边的数量,即点连通度一般小于等于边连通度

http://www.ppmy.cn/news/1546694.html

相关文章

Vue Cli 脚手架目录文件介绍

小试牛刀 //vetur高亮; vuetab 快速生成 <template><div class"box">我是个盒子<button click"fn">按钮</button></div> </template><script> export default {methods:{fn(){alert("Hello Vue")}} …

easyfs 简易文件系统

easyfs easyfs 简易文件系统文件系统虚拟文件系统 VFS简易文件系统 easyfs磁盘布局超级块 easyfs 文件系统结构磁盘上的索引结构索引节点Inode 和 DiskInode 之间的关系举例说明读取文件的过程&#xff08; /hello &#xff09; 参考文档 easyfs 简易文件系统 文件系统 常规文…

Android 手机设备的OEM-unlock解锁 和 adb push文件

OEM-unlock解锁 和 adb push文件 【第一步&#xff1a;点击版本号,打开开发者模式&#xff0c;进入开发者选项】 - OEM unlocking 【第二步&#xff1a;手动打开OEM开关】 - adb reboot bootloader 【第三步&#xff1a;输入命令】 - fastboot flashing unlock 【第四步&…

Hadoop + Hive + Apache Ranger 源码编译记录

背景介绍 由于 CDH&#xff08;Clouderas Distribution Hadoop &#xff09;近几年已经开始收费并限制节点数量和版本升级&#xff0c;最近使用开源的 hadoop 搭了一套测试集群&#xff0c;其中的权限管理组件用到了Apache Ranger&#xff0c;所以记录一下编译打包过程。 组件…

SpringCloud篇(服务提供者/消费者)(持续更新迭代)

在服务调用关系中&#xff0c;会有两个不同的角色&#xff1a; 服务提供者&#xff1a;一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务&#xff09; 服务消费者&#xff1a;一次业务中&#xff0c;调用其它微服务的服务。&#xff08;调用…

JVM垃圾回收详解一(重点)

堆空间的基本结构 Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时&#xff0c;Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。 Java 堆是垃圾收集器管理的主要区域&#xff0c;因此也被称作 GC 堆&#xff08;Garbage Collected Heap&am…

设计模式之建造者模式(各项装修物料组合套餐选配场景)

前言&#xff1a; 乱码七糟&#xff0c;我时常怀疑这个成语是来形容程序猿的&#xff01; 无论承接什么样的需求&#xff0c;是不是身边总有那么几个人代码写的烂&#xff0c;但是却时常有测试小姐姐过来聊天(求改bug)、有产品小伙伴送吃的(求写需求)、有业务小妹妹陪着改代码(…

高效运维:构建全面监控与自动化管理体系

在当今数字化时代&#xff0c;企业IT系统的稳定运行直接关系到业务的连续性和竞争力。运维团队作为保障系统稳定运行的中坚力量&#xff0c;面临着前所未有的挑战。随着云计算、大数据、物联网等技术的快速发展&#xff0c;系统架构日益复杂&#xff0c;运维工作也从传统的被动…