图论(1)——图的基本概念

图的概念

图的定义

二元组(V(G),E(G))称为图。
其中, V(G)是非空集合,称为结点集
E(G)是V(G)诸结点之间边的集合
常用G=(V,E)表示图

即结点数|V|=n, 边数|E|=m

e k = ( v i , v j ) ( 称 v i 和 v j 是相邻结点 , 或者 e k 分别与 v i , v j 相关联 ) e_k=(v_i, v_j) (称v_i和v_j是相邻结点, 或者e_k分别与v_i,v_j相关联) ek=(vi,vj)(vivj是相邻结点,或者ek分别与vi,vj相关联)
有向图:
v i 是 e k 的始点, v j 是 e k 的终点 v_i是e_k的始点,v_j是e_k的终点 viek的始点,vjek的终点
无向图:
v i , v j 是 e k 的端点 v_i,v_j是e_k的端点 vi,vjek的端点

  • 自环(圈) 只有一个结点相关联的边
  • 重边、多重图 同一对结点之间存在多条边

G=(V,E)的某结点v所关联的边数称为该结点的度,用 d(v)表示。如果v带有自环,则自环对d(v)的贡献为2
有向图中:

出度(正度) d + ( v ) d^+(v) d+(v): 以结点v为始点的边的数目
入度(负度) d − ( v ) d^-(v) d(v): 以结点v为终点的边的数目
d ( v ) = d + ( v ) + d − ( v ) d(v) = d^+(v)+d^-(v) d(v)=d+(v)+d(v)

例子:
屏幕截图 2023-11-23 105211.png
屏幕截图 2023-11-23 105236.png

特殊的图

  • 简单图: 任意两结点间最多只有一条边,且不存在自环的无向图
  • 空图: 没有任何边的简单图(V, Ø), 用 N n N_n Nn表示
    若此时恰有|V|=1, 称为平凡图
  • 完全图: 任何两个结点间都有边的简单图, 用 K n K_n Kn表 示
    K n K_n Kn中每个节点的度都是n-1

图的性质

  • Handshaking Theorem
    设G=(V, E)有n个结点,m条边,则 ∑ v ∈ V ( G ) d ( v ) = 2 m \sum_{v\in V(G)} d(v)=2m vV(G)d(v)=2m

  • G中度为奇数的结点必为偶数个.

  • 有向图G中正度之和等于负度之和.

  • Kn的边数是n(n-1)/2.

  • 非空简单图G中一定存在度相同的结点.
    鸽巢原理
    度d(v)的取值范围是 1~(n-1)

每条边赋以一个实数 w k w_k wk作为权
都是正实数:正权图

子图

  • 给定G=(V, E), 如果存在另一个G’=(V’, E’), 满足V’ ∈ \in V, E’ ∈ \in E, 则称G’是G的一个子图
  • 特别地,如果V’=V, 就称G’是G的支撑子图或者生成子图(spanning subgraph)
  • 如果V’ ∈ \in V, 且E’包含了G在结点子集V’之间的所有边, 则称G’是G的导出子图(induced subgraph)
  • G自身既是支撑子图,又是导出子图;
  • 空图是G的支撑子图;
  • G自身和空图称为平凡子图

屏幕截图 2023-11-23 110714.png

图的运算

给定两个图G1=(V1,E1),G2=(V2,E2). 令

  • G1 ∪ \cup G2=(V,E),其中V=V1 ∪ \cup V2,E=E1 ∪ \cup E2;

  • G1 ∩ \cap G2=(V,E),其中V=V1 ∩ \cap V2,E=E1 ∩ \cap E2;

  • G1 ⊕ \oplus G2=(V,E),其中V=V1 ∪ \cup V2,E=E1 ⊕ \oplus E2;
    注意这里节点是并
    分别称为G1和G2的并,交和对称差

  • G-H

    • 表示在G中删去一个子图H,即删掉H中的各条边(支撑子图)
    • 特别地,对于简单图G,称Kn-G为G的补图
  • G -v 表示从G中删去结点v及其关联的边(导出子图)

  • G-e 表示从G中删去边e(生成子图)

  • G + e i j 表示在 G 中增加某条边 e k = ( v i , v j ) G+e_ij 表示在G中增加某条边e_k=(v_i, v_j) G+eij表示在G中增加某条边ek=(vi,vj)

邻点集

  • 无向图的邻点集 Γ(v)={u|(v, u) ∈ \in E}

  • 设v是有向图G的一个结点,则 Γ + Γ^+ Γ+(v)={u|(v, u) ∈ \in E}
    称为v的直接后继集或者外邻集;

  • 相应地 Γ − Γ^- Γ(v)={u|(u, v) ∈ \in E} 称为v的直接前趋集或者内邻集

图的同构

定义

两个图G1=(V1, E1), G2=(V2, E2),如果V1和V2之间存在双射f, 而且(u, v) ∈ \in E1, 当且仅当(f(u), f(v)) ∈ \in E2时, 称G1和G2同构
记作G1≅G2

必要条件(用来判断不是)

  1. |V(G1)|=|V(G2)|, |E(G1)|=|E(G2)|
  2. G1和G2结点度的非增序列相同
  3. 存在同构的导出子图(用来判断不同构)

屏幕截图 2023-11-23 131124.png
右图中不存在与左图中圈住部分同构的子图
屏幕截图 2023-11-23 131242.png

图的代数表示

邻接矩阵(Adjacency Matrix)

  • A[i,j]=1 , 如果i至j有 一条无向边;
  • 可以表示自环
  • 无法表示重边
  • 有向图:
    • v i v_i vi出度: i行之和;
    • v j v_j vj入度: j列之和
  • 无向图:
    • 对称矩阵
    • v i v_i vi结点的度: i行或i列之和

权矩阵

关联矩阵(Incidence Matrix)

  • 有向图:
    • B[i,j]=1, 如果 v i v_i vi是边ej=( v i , v k v_i,v_k vi,vk)的始点
    • B[i,j]=-1, 如果 v i v_i vi是边ej= ( v k , v i (v_k,v_i (vk,vi)的终点
  • 无向图: 没有-1, 1(如果是端点)
  • 可以表示重边
  • 无法表示自环

邻接表

  • 可以表示重边和自环
  • 与矩阵相比,更节约空间

图的应用

路线数量

屏幕截图 2023-11-23 161843.png

求任意两个节点之间刚好能两步到达的路线数量?
把2个邻接矩阵相乘,得到矩阵的第i行j列的数字就是从节点i到j的路线数量.

状态转移图

状态看作点,状态间的转化看作边
Q: 三个量杯容量分别是8升,5升,3升,现8升的量杯装满了水,问怎样才能把水分成2个4升的。
初始状态(8,0,0),终止状态(4,4,0)
A: (8,0,0)→(5,0,3)→(5,3,0)→(2,3,3) →(2,5,1)→(7,0,1)→(7,1,0)→(4,1,3)→(4,4,0)

关系图

从图的角度理解关系
定义:设集合X={x1,x2,…,xm},Y={y1, y2,… ,yn} .若R是X到Y的一个关系,则R的关系图是一 个有向图G®=<V,E>

  • 它的顶点集是V=X∪Y,
  • 边集是E:从 x i 到 y j 的有向边 e i j ∈ E ,当且仅当 < x i , y i > ∈ R x_i到y_j的有向边e_{ij}∈E,当且仅当<x_i,y_i>∈R xiyj的有向边eijE,当且仅当<xi,yi>∈R

若R是集合X(m个元素)上的一个关系,则R的关系矩阵是m×m方阵.

R − 1 R^{-1} R1 的关系矩阵 M ( R − 1 ) M(R^{-1}) M(R1) 是R的关系矩阵的转置矩阵

M ( S ∘ R ) M(S \circ R) M(SR) 的计算
M ( S ∘ R ) = M ( R ) ⋅ M ( S ) M(S \circ R) = M(R) \cdot M(S) M(SR)=M(R)M(S)
( w i j ) = ⋁ k = 1 m ( r i k ∧ s k j ) (w_{ij}) = \bigvee_{k=1}^{m} (r_{ik} \land s_{kj}) (wij)=k=1m(rikskj)

M ( S ∘ R ) M(S \circ R) M(SR) ! = != != M ( R ∘ S ) M(R \circ S) M(RS)

屏幕截图 2023-11-23 173254.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值