图论基础

  • 图
    • 定义
      • 基本内容
        • 定义集合 A,BA,B 的无序积为 A&⁡B={(a,b)∣a∈A∧b∈B}A\operatorname{\&}B=\{ (a,b) \mid a \in A \land b \in B \}。
        • 定义无向图 G=⟨V,E⟩G=\langle V,E \rangle,满足
          • VV 为非空有穷集,称为点集,元素称为结点,记作 V(G)V(G)。
          • EE 为 V&⁡VV\operatorname{\&}V 的有穷多重子集,称为边集,元素称为无向边,记作 E(G)E(G)。
        • 定义有向图 D=⟨V,E⟩D=\langle V,E \rangle,满足
          • VV 与无向图定义相同。
          • EE 为 V×VV\times V 的有穷多重子集。
        • 定义图的结点数为图的阶,nn 个结点的图称为 nn 阶图,∣V(G)∣=n|V(G)| = n。
      • 关联和相邻
        • 关联:已知 ek=(vi,vj)e_k=(v_i,v_j),则 eke_k 与 vi,vjv_i,v_j 关联。
          • 若 vi=vjv_i=v_j,则 eke_k 与 vi,vjv_i,v_j 的关联次数为 22。
          • 若 vi≠vjv_i\ne v_j,则为 11。
          • 若 vl≠vi∧vl≠vjv_l\ne v_i\land v_l\ne v_j,则 eke_k 与 vlv_l 的关联次数为 00。
        • 相邻:已知 ek=(vi,vj)e_k=(v_i,v_j),则 viv_i 与 vjv_j 相邻。
        • 对无向图 G=⟨V,E⟩G=\langle V,E\rangle
          • 邻域:NG(v)={u∣u∈V∧u≠v∧(u,v)∈E}N_G(v) = \{ u \mid u \in V \land u \ne v \land (u,v) \in E\}
          • 闭邻域:N‾G(v)=NG∩{v}\overline N_G(v) = N_G \cap \{ v\}
          • 关联集:IG(v)={e∣e∈E∧eI_G(v) = \{ e \mid e \in E \land e 与 vv 关联 }\}
        • 对有向图 D=⟨V,E⟩D=\langle V,E\rangle
          • 后继元素:Γ+(v)={u∣u∈V∧⟨v,u⟩∈E}\Gamma^+(v) = \{ u \mid u \in V \land \langle v, u \rangle \in E\}
          • 前驱元素:Γ−(v)={u∣u∈V∧⟨u,v⟩∈E}\Gamma^-(v) = \{ u \mid u \in V \land \langle u,v \rangle \in E\}
          • 邻域:ND(v)=Γ+(v)∩Γ−(v)N_D(v) = \Gamma^+(v) \cap \Gamma^-(v)
          • 闭邻域:N‾D(v)=ND(v)∩{v}\overline N_D(v) = N_D(v) \cap \{v\}
        • 平行边:关联一对结点的边的个数大于 11 的边。重复的次数称为重数。
        • 简单图:没有平行边的图。
      • 度数
        • 度数:
          • 对无向图,vv 作为边的端点的次数称为度数,记作 dG(v)d_G(v)。
          • 对有向图,vv 作为边的终点的次数称为入度 dD+(v)d^+_D(v),作为边的起点的次数称为出度 dD−(v)d^-_D(v),度为 dD(v)=dD+(v)+dD−(v)d_D(v) = d^+_D(v)+d^-_D(v)。
        • 对无向图,最大度 Δ(G)=max⁡v∈V{dG(v)}\Delta(G)=\displaystyle\max_{v\in V} \{d_G(v)\},最小度 δ(G)=min⁡v∈V{dG(v)}\delta(G) = \displaystyle\min_{v\in V}\{d_G(v)\}。对有向图的度有类似定义。
        • 悬挂结点:度数为 11 的结点
        • 悬挂边:与悬挂结点关联的边
        • 奇 / 偶度结点:度数为奇 / 偶数的结点
      • 特殊图
        • 零图:边集为空的图,nn 阶零图记作 NnN_n,N1N_1 称为平凡图。
        • 空图:点集为空的图,记作 ∅\varnothing。
        • 标定图:图的结点和边都有编号的图,否则为非标定图。
        • 基图:将有向图的边都修改为无向后得到的图。
        • 完全图:nn 阶无向完全图记作 KnK_n。nn 阶有向完全图在每一对结点之间都有双向的边。若 nn 阶有向图的基图为 KnK_n,则其为 nn 阶竞赛图。
        • 正则图:度数均为 kk 的无向图称为 kk-正则图。
      • 图的关系
        • 同构:对于图 G1=⟨V1,E1⟩,G2=⟨V2,E2⟩G_1=\langle V_1,E_1\rangle,G_2=\langle V_2,E_2\rangle,存在双射 f:V1→V2f:V_1\to V_2,满足 (v1,v2)∈E1  ⟺  (f(v1),f(v2))∈E2(v_1,v_2)\in E_1 \iff (f(v_1),f(v_2))\in E_2,且对应边重数相同,则 G1,G2G_1,G_2 同构,记作 G1≅G2G_1\cong G_2。
        • 子图:已知 G=⟨V,E⟩,G′=⟨V′,E′⟩G=\langle V,E\rangle,G'=\langle V',E'\rangle,若 V′⊆V,E′⊆EV'\subseteq V,E'\subseteq E,则 G′G' 为 GG 的子图,记作 G′⊆GG'\subseteq G,GG 为 G′G' 的母图。
        • 真子图:G=⟨V,E⟩⊇G′=⟨V′,E′⟩G=\langle V,E\rangle \supseteq G'=\langle V',E'\rangle,若 V′≠VV' \ne V 或 E′≠EE'\ne E,则 G′G' 为 GG 的真子图。
        • 生成子图:G=⟨V,E⟩⊇G′=⟨V′,E′⟩G=\langle V,E\rangle \supseteq G'=\langle V',E'\rangle,若 V′=VV'=V,则 G′G' 为 GG 的生成子图。
        • 导出子图:G=⟨V,E⟩⊇G′=⟨V′,E′⟩G=\langle V,E\rangle \supseteq G'=\langle V',E'\rangle
          • 若 E′={(v1,v2)∣v1,v2∈V′∧(v1,v2)∈E}E' = \{(v_1,v_2) \mid v_1,v_2\in V' \land (v_1,v_2)\in E\},则 G′G' 为 GG 的 V′V' 导出的子图,记作 G[V′]G[V']。
          • 若 V′={v∣∃v′(v′∈V∧(v,v′)∈E′)}V' = \{v \mid \exists v' (v'\in V \land (v,v') \in E')\},则 G′G' 为 GG 的 E′E' 导出的子图,记作 G[E′]G[E']。
        • 补图:G=⟨V,E⟩G=\langle V,E\rangle,令 E‾={(u,v)∣u,v∈V∧(u,v)∉E}\overline E = \{ (u,v) \mid u,v \in V \land (u,v) \notin E\},则 G‾=⟨V,E‾⟩\overline G = \langle V,\overline E\rangle 为 GG 的补图。
        • 自补图:若 G≅G‾G \cong \overline G,则 GG 为自补图。
    • 性质
      • 度数
        • 握手定理:
          • 对 G=⟨V,E⟩G=\langle V,E\rangle,∑dG(vi)=2∣E∣\displaystyle\sum d_G(v_i) = 2|E|。
          • 对 D=⟨V,E⟩D=\langle V,E\rangle,∑dD(vi)=2∣E∣\displaystyle\sum d_D(v_i) = 2|E|,∑dD+(vi)=∑dD−(vi)=∣E∣\displaystyle\sum d^+_D(v_i) = \sum d^-_D(v_i) = |E|。
        • 可图化:
          • 已知度数列 (d1,d2,…,dn)(d_1,d_2,\dots,d_n),若存在 G=⟨V={v1,v2,…,vn},E⟩G=\langle V=\{v_1,v_2,\dots,v_n\},E\rangle,满足 di=dG(vi)d_i=d_G(v_i),则度数列可图化。
          • 若 GG 可以为简单图,则度数序列简单可图化。
          • 对有向图可以有出度列和入度列。
          • (d1,d2,…,dn)(d_1,d_2,\dots,d_n) 可图化   ⟺  (d1,d2,…,dn)\iff (d_1,d_2,\dots,d_n) 满足 ∑i=1ndi\displaystyle\sum_{i=1}^n d_i 为偶数。
          • 简单可图化必要条件:Δ(G)≤n−1\Delta(G) \le n - 1。
  • 图的连通性
    • 通路和回路
      • 定义
        • 设 G=⟨V,E⟩G = \langle V,E\rangle 为无向标定图,结点与边的交替序列 Γ=vi0ej1vi1ej2vi2…ejlvjl\mathcal\Gamma = v_{i_0}e_{j_1}v_{i_1}e_{j_2}v_{i_2}\dots e_{j_l}v_{j_l} 称为 vi0v_{i_0} 到 vilv_{i_l} 的通路。
        • 若 Γ\mathcal\Gamma 中 vi0=vilv_{i_0}=v_{i_l},则 Γ\mathcal\Gamma 称为回路。
        • 若 Γ\mathcal\Gamma 中边都不同,则 Γ\mathcal\Gamma 是简单通路,否则有边重复出现,Γ\mathcal\Gamma 为复杂通路。
        • 若 Γ\mathcal\Gamma 中边都不同且 vi0=vilv_{i_0}=v_{i_l},则 Γ\mathcal\Gamma 是简单回路,否则有边重复出现,Γ\mathcal\Gamma 为复杂回路。
        • 若 Γ\mathcal\Gamma 中所有点和边都不同,则 Γ\mathcal\Gamma 是初级通路 / 路径。
        • 若 Γ\mathcal\Gamma 中除了 vi0=vilv_{i_0}=v_{i_l} 所有点和边都不同,则 Γ\mathcal\Gamma 是初级回路 / 圈。
        • 定义长度为 Γ\mathcal\Gamma 边的个数。
        • 对于有向图有类似定义。
      • 性质
        • 在 nn 阶图中,若 u≠vu\ne v 且存在 uu 到 vv 的通路,则存在 uu 到 vv 的长度小于等于 n−1n-1 的初级通路 / 路径。
        • 在 nn 阶图中,若存在 vv 到自身的回路,则存在 vv 到自身的长度小于等于 nn 的回路。
        • 在 nn 阶图中,若存在 vv 到自身的简单回路,则存在 vv 到自身的长度小于等于 nn 的初级回路 / 圈。
    • 无向图连通性
      • 基本定义
        • 设 G=⟨V,E⟩G = \langle V,E\rangle 为无向图,若 u,v∈Vu,v\in V 之间存在通路,则 u,vu,v 连通,记作 u∼vu\sim v。
        • 若 GG 是平凡图或任意两个结点都是连通的,则 GG 是连通图,否则为非连通图。
        • 连通关系 ∼\sim 是一个等价关系,ViV_i 是 VV 的一个等价类,则 G[Vi]G[V_i] 是一个连通分支。
        • GG 的连通分支数记作 p(G)p(G)。nn 阶图中,KnK_n 有最小 p=1p=1,NnN_n 有最大 p=np=n。
        • u,vu,v 之间最短路径的长度为距离 d(u,v)d(u,v),若 u≁vu\not\sim v,则 d(u,v)=∞d(u,v)=\infty。
      • 连通程度
        • 对 G=⟨V,E⟩G = \langle V,E\rangle
          • 若 V′⊂VV'\subset V 使得 p(G−V′)>p(G)p(G-V')>p(G),且任意 V′′⊂V′V'' \subset V' 满足 p(G−V′′)=p(G)p(G-V'')=p(G),则 V′V' 为点割集。
          • 若 ∣V′∣=1|V'|=1,则 V′V' 中的唯一元素 vv 称为割点。
          • 若 E′⊂EE'\subset E 使得 p(G−E′)>p(G)p(G-E')>p(G),且任意 E′′⊂E′E'' \subset E' 满足 p(G−E′′)=p(G)p(G-E'')=p(G),则 E′E' 为边割集。
          • 若 ∣E′∣=1|E'|=1,则 E′E' 中的唯一元素 ee 称为割边 / 桥。
        • 点连通度:已知 GG 为连通图,定义 κ(G)=min⁡∣V′∣\kappa(G) = \min |V'|,其中 V′V' 为 GG 的点割集。
          • 规定 κ(Kn)=n−1\kappa(K_n) = n - 1,非连通图的 κ=0\kappa = 0。
          • 若 κ(G)≥k\kappa(G) \ge k,则 GG 是 kk-连通图。kk-连通图至少需要删除 kk 个点才可能使其不连通。
        • 边连通度:已知 GG 为连通图,定义 λ(G)=min⁡∣E′∣\lambda(G) = \min |E'|,其中 E′E' 为 GG 的边割集。
          • 规定非连通图的 λ=0\lambda=0。
          • 若 λ(G)≥k\lambda(G) \ge k,则 GG 是 kk 边-连通图。kk 边-连通图至少需要删除 kk 条边才可能使其不连通。
        • 已知 G1,G2G_1,G_2 为连通图
          • 若 κ(G1)>κ(G2)\kappa(G_1)>\kappa(G_2),则 G1G_1 的点连通程度高。
          • 若 λ(G1)>λ(G2)\lambda(G_1)>\lambda(G_2),则 G1G_1 的边连通程度高。
        • 对任意无向图 GG,有 κ(G)≤λ(G)≤δ(G)\kappa(G) \le \lambda(G) \le \delta(G)。
    • 有向图连通性
      • 基本定义
        • 设 D=⟨V,E⟩D=\langle V,E\rangle 为有向图,若从 uu 到 vv 存在通路,则 uu 到 vv 可达,记作 u→vu \to v。
          • 若 u→vu\to v 且 v→uv \to u,则 u,vu,v 相互可达,记作 u↔vu \leftrightarrow v。
          • 规定 u→uu \to u。
        • →\to 和 ↔\leftrightarrow 都是二元关系,其中 ↔\leftrightarrow 是等价关系。
        • uu 到 vv 的最短路径的长度为距离 d⟨u,v⟩d\langle u,v\rangle。d⟨u,v⟩d\langle u,v\rangle 相比 d(u,v)d(u,v) 没有对称性。
      • 性质
        • 对 D=⟨V,E⟩D=\langle V,E\rangle
          • 若 DD 的基图是连通图,则 DD 是弱连通图,简称连通图。
          • 若任意 u,v∈Vu,v \in V 有 u→vu\to v 或 v→uv \to u,则 DD 是单向连通图。
          • 若任意 u,v∈Vu,v \in V 有 u↔vu \leftrightarrow v,则 DD 是强连通图。
          • 强连通图是单向连通图,单向连通图是弱连通图。
        • D=⟨V,E⟩D=\langle V,E\rangle 是强连通图   ⟺  \iff DD 中存在经过每个结点至少一次的回路。
        • D=⟨V,E⟩D=\langle V,E\rangle 是单向连通图   ⟺  \iff DD 中存在经过每个结点至少一次的通路。
    • 二分图
      • 定义
        • 设 G=⟨V,E⟩G = \langle V,E\rangle 为无向图,若可以划分 VV 为 V1,V2V_1,V_2,且 EE 中任意的边的端点分别在 V1,V2V_1,V_2,则 GG 为二分图。
        • 二分图记作 ⟨V1,V2,E⟩\langle V_1,V_2,E\rangle。
        • 若 V1V_1 中任意结点都与 V2V_2 中结点相邻,则 GG 为完全二分图,记作 Kr,sK_{r,s},其中 ∣V1∣=r,∣V2∣=s|V_1|=r,|V_2|=s。
      • 性质
        • n (n≥2)n\ (n\ge 2) 阶无向图 GG 是二分图   ⟺  \iff GG 中无奇圈。
  • 图的矩阵表示
    • 无向图的关联矩阵
      • 定义
        • 已知无向图 G=⟨V,E⟩G=\langle V,E\rangle,V={v1,v2,…,vn}V = \{v_1,v_2,\dots,v_n\},E={e1,e2,…,em}E=\{e_1,e_2,\dots,e_m\}。
        • 定义 GG 的关联矩阵 M(G)=(mij)n×mM(G) = (m_{ij})_{n\times m},其中 mijm_{ij} 为 viv_i 与 eje_j 的关联次数。
      • 性质
        • M(G)M(G) 中一列对应一条边,每一列的和 ∑i=1nmij=2\displaystyle\sum_{i=1}^n m_{ij} = 2。
        • M(G)M(G) 中一行对应一个点,每一行的和 ∑j=1mmij=dG(vi)\displaystyle\sum_{j=1}^m m_{ij} = d_G(v_i)。
        • 握手定理:∑i=1n∑j=1mmij=2m\displaystyle\sum_{i=1}^n\sum_{j=1}^m m_{ij} = 2m。
        • eie_i 与 eje_j 是平行边   ⟺  \iff M(G)M(G) 中第 ii 列与第 jj 列相同。
    • 有向图的关联矩阵
      • 定义
        • 已知有向图 D=⟨V,E⟩D=\langle V,E\rangle,V={v1,v2,…,vn}V = \{v_1,v_2,\dots,v_n\},E={e1,e2,…,em}E=\{e_1,e_2,\dots,e_m\}。
        • 定义 DD 的关联矩阵 M(D)=(mij)n×mM(D) = (m_{ij})_{n\times m},其中 mijm_{ij} 按照如下取值:
          • 若 viv_i 是 eje_j 的始点,则 mij=1m_{ij} = 1。
          • 若 viv_i 是 eje_j 的终点,则 mij=−1m_{ij} = -1。
          • 否则 mij=0m_{ij}=0。
      • 性质
        • M(G)M(G) 中每一列的和 ∑i=1nmij=0\displaystyle\sum_{i=1}^n m_{ij} = 0,恰好分别存在一个 1,−11,-1。
        • M(G)M(G) 中每一行有 ∑j=1m1{mij=1}=dG+(vi)\displaystyle\sum_{j=1}^m 1\{m_{ij}=1\} = d^+_G(v_i),∑j=−1m1{mij=−1}=dG−(vi)\displaystyle\sum_{j=-1}^m 1\{m_{ij}=-1\} = d^-_G(v_i)。
        • 握手定理:∑i=1n∑j=1m1{mij=1}=∑i=1n∑j=−1m1{mij=−1}=dG−(vi)=m\displaystyle\sum_{i=1}^n\sum_{j=1}^m 1\{m_{ij}=1\} = \displaystyle\sum_{i=1}^n\sum_{j=-1}^m 1\{m_{ij}=-1\} = d^-_G(v_i) = m
        • eie_i 与 eje_j 是平行边   ⟺  \iff M(G)M(G) 中第 ii 列与第 jj 列相同。
    • 邻接矩阵