第十章 图的基本概念(图论)

第十章 图的基本概念

10.1 基本概念

  • :是一个序偶 ( V , E ) (V,E) (V,E),记为 G = ( V , E ) G=(V,E) G=(V,E)。其中,

    • V ( G ) V(G) V(G) 为结点集,结点数 n n n 称为 G G G E ( G ) E(G) E(G) 为边集。

    • ( n , m ) (n,m) (n,m):含有 n n n m m m 边的图

    • 无向边 e = ( u , v ) e=(u,v) e=(u,v)

      有向边 e = < u , v > e=<u,v> e=<u,v>

    • 邻接点邻接边

    • 平行边:有向图中几条同始点,同终点的边

    • 多重图(含平行边)

      广义图(含环的多重图)

      基图(无环,平行边代之以一条边)

    • 简单图:不含平行边也不包含自环的图

    • 赋权图/无权图:边上有/无权值

    • 结点的度数 deg ⁡ ( v ) \deg(v) deg(v)

      • 无向图:最大点度,最小点度

      • 有向图:入度 deg ⁡ + ( v ) \deg^+(v) deg+(v),出度 deg ⁡ − ( v ) \deg^-(v) deg(v)

      • 孤立点:度数为 0 0 0

      • 零图 G = ( V , ∅ ) G=(V,\empty) G=(V,):只由孤立点构成。

        平凡图:仅含一个结点的零图。

      • 正则图:各点度数相同。( k k k度正则图)

      • 度数序列: ( deg ⁡ ( v 1 ) , deg ⁡ ( v 2 ) , . . . deg ⁡ ( v n ) ) (\deg(v_1),\deg(v_2),...\deg(v_n)) (deg(v1),deg(v2),...deg(vn))

    • 握手定理(Euler 1736年):在任意 ( n , m ) (n,m) (n,m) G = ( V , E ) G=(V,E) G=(V,E) 中, ∑ v ∈ V deg ⁡ ( v ) = 2 m \color{red}\sum\limits_{v\in V}\deg(v)=2m vVdeg(v)=2m

      • 推论1:奇度数结点的个数为偶数
      • 推论2:有向图中, { ∑ v ∈ V deg ⁡ + ( v ) = ∑ v ∈ V deg ⁡ − ( v ) = m ∑ v ∈ V deg ⁡ ( v ) = ∑ v ∈ V deg ⁡ + ( v ) + ∑ v ∈ V deg ⁡ − ( v ) = 2 m \begin{cases}\sum\limits_{v\in V}\deg^+(v)=\sum\limits_{v\in V}\deg^-(v)=m\\ \sum\limits_{v\in V}\deg(v)=\sum\limits_{v\in V}\deg^+(v)+\sum\limits_{v\in V}\deg^-(v)=2m \end{cases} vVdeg+(v)=vVdeg(v)=mvVdeg(v)=vVdeg+(v)+vVdeg(v)=2m
    • 子图:设图 G = < V 1 , E 1 > G=<V_1,E_1> G=<V1,E1> 和图 H = < V 2 , E 2 > H=<V_2,E_2> H=<V2,E2>,则 H ⊆ G H\subseteq G HG

      • 真子图 H ⊂ G H\subset G HG

      • 生成子图 V 1 = V 2 V_1=V_2 V1=V2

      • 平凡子图 V 1 = V 2 且 E 1 = E 2 或 E 2 = ∅ V_1=V_2且E_1=E_2或E_2=\empty V1=V2E1=E2E2=

      • 删点子图 G − v G-v Gv:删点 v v v 及其连边

        删边子图 G − e G-e Ge:删边 e e e

      • 点诱导子图 G ( S ) = ( S , E ′ ) G(S)=(S,E') G(S)=(S,E):设图 G = ( V , E ) G=(V,E) G=(V,E),则 S ⊆ V , E ′ = { u v ∣ u , v ∈ S , u v ∈ E } S\subseteq V,E'=\{uv|u,v\in S,uv\in E \} SV,E={uvu,vS,uvE}

        边诱导子图 G ( T ) = ( S ′ , T ) G(T)=(S',T) G(T)=(S,T):设图 G = ( V , E ) G=(V,E) G=(V,E),则 T ⊆ E 且 T ≠ ∅ T\subseteq E且 T\ne \empty TET=,且 S ′ S' S 包含 T T T 中各边全部结点。

    • 完全图 K n K_n Kn:任意结点都与其他点邻接(有向图中有向边都为双向)。无向图边数为 n ( n − 1 ) 2 \dfrac{n(n-1)}{2} 2n(n1),有向图边数为 n ( n − 1 ) n(n-1) n(n1)

    • 补图 G ‾ \overline{G} G G ‾ ‾ = G \overline{\overline{G}}=G G=G

    • 二分图 Bipartite Graph:将点集划分为两个子集 X , Y X,Y X,Y,使得每条边的两个关联结点在不同子集中。

      • 完全二分图 K X , Y K_{X,Y} KX,Y:两个子集 X , Y X,Y X,Y中的全部结点都邻接。
    • 图的同构 G ≅ G ′ G\cong G' GG:两个图的边一一对应。

      • 必要条件(不是充分条件):点数相同,边数相同,度数相同的结点数相同。

10.2 路与回路

  • 道路:由结点和边交替出现的序列 P = v 0 e 1 v 1 e 2 v 2 . . . e k v k P=v_0e_1v_1e_2v_2...e_kv_k P=v0e1v1e2v2...ekvk,简记为 < v 0 , v k > <v_0,v_k> <v0,vk>

    • 长度:边数

    • 开 / 闭道路 v 0 ≠ v k / v 0 = v k v_0\ne v_k/ v_0=v_k v0=vk/v0=vk

    • 简单道路:无重复边(边不同)

      回路:闭的简单道路(无重边)

    • 基本道路:无重复点(点不同)

      基本回路/圈:闭的基本道路,即只有 v 0 = v k v_0=v_k v0=vk

  • 道路图和圈图

    • 道路图 P n P_n Pn:可由一条基本道路表示
    • 圈图 C n C_n Cn:可由一个圈表示(可重边)
  • n n n 结点的图中若 v i , v j ( v i ≠ v j ) v_i,v_j(v_i\ne v_j) vi,vj(vi=vj) 两点之间存在一条路径,则此两点之间存在一条 n − 1 n-1 n1 条边的道路。

10.3 图的连通性

  • 无向图的连通性

    无向图的连通关系是等价关系

    • 连通的:无向图 G = < V , E > G=<V,E> G=<V,E> 中两个结点 u , v u,v u,v 之间存在道路,记为 u ∼ v u\sim v uv。规定 u ∼ u u\sim u uu

    • :极大连通子图。图 G G G 分支数记为 ω ( G ) \omega(G) ω(G)

    • 连通图 G = < V , E > G=<V,E> G=<V,E> 中任意两点连通。否则称为非连通图/分离图

    • 距离:任意两点之间长度最短的道路,记为 d ( v i , v j ) d(v_i,v_j) d(vi,vj)

      • 性质:非负性;对称性;三角不等式;不存在道路时 d ( v i , v j ) = ∞ d(v_i,v_j)=\infty d(vi,vj)=
    • 割点

      • 点割集 V ′ V ' V:图 G G G 删去结点子集 V ′ V' V 所得到的子图 G − V ′ G-V' GV 的连通分支数与 G G G 的连通分支数满足 ω ( G − V ′ ) > ω ( G ) \omega(G-V')>\omega(G) ω(GV)>ω(G)
      • 基本割集:若图 G G G 删去 V ′ V' V 的任何真子集 V ′ ′ V'' V 使得 ω ( G − V ′ ′ ) = ω ( G ) \omega(G-V'')=\omega(G) ω(GV)=ω(G)
      • 割点:割集为 { u } \{u\} {u}
      • 定理:连通图 G G G 中, v v v G G G 的割点    ⟺    \iff 存在结点 u , w u,w u,w 使 u , w u,w u,w 的每条道路都包含 v v v 结点
    • 连通度

      • 点连通度 κ ( G ) \kappa(G) κ(G):使 G G G 产生一个非连通子图或一个结点的子图所需删去的最少结点数目。

        κ ( K n ) = n − 1 \kappa(K_n)=n-1 κ(Kn)=n1

      • 边连通度 λ ( G ) \lambda(G) λ(G):使 G G G 产生一个非连通子图或一个结点的子图所需删去的最少边数目。

      • 定理:对于任何图 G G G,有 κ ( G ) ≤ λ ( G ) ≤ δ \kappa(G)\le \lambda(G) \le \delta κ(G)λ(G)δ(点最小度数)

  • 有向图的连通性

    有向图的连通关系没有对称性,不是等价关系

    相互可达是等价关系

    • 可达的:有向图 G = < V , E > G=<V,E> G=<V,E> 中存在结点 u u u 到结点 v v v 的道路,记为 u → v u\rightarrow v uv。规定 u → u u\rightarrow u uu

    • 连通图

      弱连通图 $\subseteq $ 单向连通图 $\subseteq $ 强连通图

      • 单向连通图:任意两点之间至少有一个结点到另一个结点可达的
      • 强连通图:任意两点之间都是相互可达
      • 弱连通图:基图(有向边去掉方向)是连通图。

      例题 \color{White}\colorbox{Fuchsia}{例题} G 1 G_1 G1 为弱连通图, G 2 G_2 G2 为单向连通图, G 3 G_3 G3 为强连通图。
      在这里插入图片描述

      定理:有向图 G G G 是强连通图    ⟺    \iff 存在一条包含每个节点的有向闭道路。

    • 强分图 G ′ G' G 是有向图 G G G 的强连通子图,且任意 G ′ ′ ⊆ G 且 G ′ ⊂ G ′ ′ G''\subseteq G且G'\sub G'' GGGG 都有 G ′ ′ G'' G 不是强连通的,则 G ′ G' G G G G 的强分图。

      (极大性)

      定理:有向图中,每一个结点位于且仅位于一个强分图中。

10.4 图的矩阵表示

  • 邻接矩阵 A = ( a i j ) n × n A=(a_{ij})_{n\times n} A=(aij)n×n 其中, a i j = { 1 , < v i , v j > ∈ E 0 , < v i , v j > ∉ E a_{ij}=\begin{cases}\begin{aligned}&1,&<v_i,v_j>\in E\\&0,&<v_i,v_j>\notin E\end{aligned}\end{cases} aij={1,0,<vi,vj>E<vi,vj>/E

    考察点与点的关系

    • 无向图中, deg ⁡ ( v i ) = ∑ k = 1 n a i k + a i i = ∑ k = 1 n a k i + a i i \deg(v_i)=\sum\limits_{k=1}^na_{ik}+a_{ii}=\sum\limits_{k=1}^na_{ki}+a_{ii} deg(vi)=k=1naik+aii=k=1naki+aii
    • 有向图中, deg ⁡ + ( v i ) = ∑ k = 1 n a i k , deg ⁡ − ( v i ) = ∑ k = 1 n a k i \deg^+(v_i)=\sum\limits_{k=1}^na_{ik},\quad\deg^-(v_i)=\sum\limits_{k=1}^na_{ki} deg+(vi)=k=1naik,deg(vi)=k=1naki
    • A = ( a i j ) n × n A=(a_{ij})_{n\times n} A(aij)n×n G G G 的邻接矩阵,对 k ≥ 1 k\ge1 k1,令 A k = ( a i j ( k ) ) n × n \color{red}A_k=(a_{ij}^{(k)})_{n\times n} Ak(aij(k))n×n。则 a i j ( k ) a_{ij}^{(k)} aij(k) 为结点 v i v_i vi 到结点 v j v_j vj 长度为 k k k 的道路数目。
      • 推论
  • 可达性矩阵(有向图中) P = ( p i j ) n × n P=(p_{ij})_{n\times n} P=(pij)n×n 其中, p i j = { 1 , 从 v i 到 v j 存 在 非 零 的 有 向 道 路 0 , o t h e r s p_{ij}=\begin{cases}\begin{aligned}&1,&&从v_i到v_j存在非零的有向道路\\&0,&&others\end{aligned}\end{cases} pij={1,0,vivjothers

    • 构造法一:计算 B n = A + A 2 + . . . + A n B_n=A+A^2+...+A^n Bn=A+A2+...+An p i j = { 1 , b i j > 0 0 , b i j = 0 p_{ij}=\begin{cases}\begin{aligned}&1,&&b_{ij}>0\\&0,&&b_{ij}=0\end{aligned}\end{cases} pij={1,0,bij>0bij=0

    • 构造法二:由于可达性矩阵相当于邻接矩阵的传递闭包,因此可用 W a r s h a l l Warshall Warshall 算法求 P P P

    • 构造有向图中全部强分图:定义 P T ⊙ P = ( g i j ) n × n P^T\odot P=(g_{ij})_{n\times n} PTP=(gij)n×n,其中 g i j = { 1 , i = j p i j ∧ p j i , i ≠ j g_{ij}=\begin{cases}\begin{aligned}&1,&&i=j\\&p_{ij}\land p_{ji},&&i\ne j\end{aligned}\end{cases} gij={1,pijpji,i=ji=j

      P T ⊙ P P^T\odot P PTP 的第 i i i 行的非零元素在第 j 1 , j 2 , . . . , j k j_1,j_2,...,j_k j1,j2,...,jk 列,则点诱导子图 G ( { v i , v j 1 , v j 2 , . . . , v j k } ) G(\{v_i,v_{j_1},v_{j_2},...,v_{j_k} \}) G({vi,vj1,vj2,...,vjk}) 就是 G G G 的一个强分图。
      在这里插入图片描述

  • 关联矩阵(有向图中) M = ( m i j ) n × m M=(m_{ij})_{n\times m} M=(mij)n×m,其中 m i j = { 1 , e j 是 v i 的 出 边 − 1 , e j 是 v i 的 入 边 0 , o t h e r s m_{ij}=\begin{cases}\begin{aligned}&1,&e_j是v_i的出边\\&-1,&e_j是v_i的入边\\&0,&others \end{aligned}\end{cases} mij=1,1,0,ejviejviothers

    例题 \color{White}\colorbox{Fuchsia}{例题}
    在这里插入图片描述

  • 圈矩阵(有向图中) C = ( c i j ) k × m C=(c_{ij})_{k\times m} C=(cij)k×m,其中 { c 1 , c 2 , . . . , c k } \{c_1,c_2,...,c_k \} {c1,c2,...,ck} 是有向图 G G G 中的全部圈, c i j = { 1 , c i 与 e j 方 向 一 致 − 1 , c i 与 e j 方 向 相 反 0 , c i 不 包 含 e j c_{ij}=\begin{cases}\begin{aligned}&1,&&c_i与e_j方向一致\\&-1,&&c_i与e_j方向相反\\&0,&&c_i不包含e_j\end{aligned}\end{cases} cij=1,1,0,ciejciejciej

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值