一、图的引入
无序对:设A,B为任意集合,称集合A&B={(a,b)|a∈A,b∈B}为A与B的无序积,(a,b)称为无序对
与序偶不同,对∀a,b (a,b)=(b,a)
图的定义:个图是一个序偶<V,E>,记为G=<V,E>,其中:
- V={v1,v2,……,vn}是有限非空集合,vi称为结点,V称为结点集
- E是有限集合,称为边集。E中的每个元素都有V中的结点对与之对应,称为边
与边对应的结点可以是无序的也可以是有序的
- 若边e与无序的结点对(u,v)相对应,称e为无向边,记为e=(u,v)=(v,u),这时称u,v是边e的两个端点
- 若边e与有序结点对<u,v>相对应,则称e为有向边(弧),记为e=<u,v>,这时称u为e的始点(弧尾),v为e的终点(弧头),统称为e的端点
二、图的表示
集合表示
对于一个图G,如果将其记为G=<V,Egt;,并写出V,E的集合表示,这称为图的集合表示
图形表示
使用小圆圈表示V中的结点,用由u指向v的有向线段或曲线表示有向边<u,v>,无向线段或曲线表示无向边(u,v),这称为图的图形表示
矩阵表示法
设图=<V,E>,其中V={v1,v2,……,vn},并假设结点已经有了从v1到vn的次序,则n阶方阵AG=(aij)n×n称为G的邻接矩阵,其中:
当<vi,vj>∈E或(vi,vj)∈E时aij=1,否则aij=0,(i,j=1,2,……,n)
邻接点和邻接边
- 在图G=<V,E>中,若两个结点vi和vj是边e的端点,则称vi与vj互为邻接点,否则vi与vj称为不邻接的;
- 具有公共结点的两条边称为邻接边;
- 两个端点相同的边称为环或自回路;
- 图中不与任何结点相邻接的结点称为孤立结点。
特殊图
- 零图:仅有孤立结点组成的图
- 平凡图:仅含一个结点的零图
- (n,m)图:含有n个结点m条边的图
三、图的分类
按边的方向分
- 无向图
- 有向图
- 混合图(转为有向图:把无向边转为方向相反的两条有向边)
按平行边分类
在有向图中,两结点(包括结点自身间)若有同始点和同终点的几条边,这几条边称为平行边;
在无向图中,两结点(包括结点自身间)若有几条边,这几条边称为平行边;
两结点a、b间相互平行的边的条数称为边(a,b)或<a,b>的重数。
- 含有平行边的图称为多重图
- 非多重图称为线图
- 无环的线图称为简单图
按权值分类
赋权图G是一个三重组<V,E,g>或四重组<V,E,f,g>,其中
- V是结点结合,
- E是边的结合,
- f是从V到非负实数集合的函数(结点的权值函数),
- g是从E到非负实数结合的函数(边的权值函数)。
相应的边或结点均无权值的称为无权图。
四、子图和补图
子图
设图G=<V,E>和图G1=<V1,E1>
- 若V1⊆V,E1⊆E,则称G1是G的子图,记为G1⊆G
- 若G1⊆G,且G1≠G,称G1是G的真子图,记为G1⊂G
- 若V1=V,E1⊆E,称G1是G的生成子图
- 设V2⊆V且V2≠Ø,以V2为结点集,以两个端点均在V2中的边的全体为边集的G的子图,称为V2导出的G的子图,简称V2的导出子图
完全图
设G=<V,E>为一个具有n个结点的无向简单图,如果G中任意两个结点间都有边相连,则称G为无向完全图,简称G为完全图,记为Kn
设G=<V,>为一个具有n个结点的有向简单图,如果G中任意两个结点间都有两条方向相反的有向边相连,则称G为有向完全图,在不发生误解的情况下,也记为Kn
- 完全图的邻接矩阵除主对角线上的元素为0外,其余元素均为1
- 无向完全图Kn的边数为C2n=n(n-1)/2
- 有向完全图Kn的边数为P2n=n(n-1)
补图
设G=<V,E>为简单图,G’=<V,E>>为完全图,则称G1=<V,E1-E>为G的补图。记为G(上划线打不出来,下划线凑活一下吧)
- 补图G就是从完全图中删去图G的边
- 补图G就是以V为结点集,以所有能使图G成为完全图Kn的添加边组成的集合为边集的图
- 图G和它的补图G有相同的结点,两个结点在补图G里相邻,当且仅当它们在G里不相邻
五、握手定理
结点的度数
图G=<V,E>中以结点v∈V为端点的次数之和称为结点v的度数或度,记为deg(v)。显然有环时需计算两次
有向图G=<V,E>中以结点v为始点的次数称为v的出度,记为deg+(v),以结点v为终点的次数称为v的入度,记为deg-(v)。显然deg(v)=deg+(v)+deg-(v)
度数为1的结点称为悬挂结点,以悬挂结点为端点的边称为悬挂边。
图G=<V,E>中成Δ(G)=max{deg(v)|v∈V}为G的最大度,δ(G)=min{deg(v)|v∈V}为G的最小度
Δ+表示最大出度,Δ-表示最大入度
δ+表示最小出度,δ-表示最小入度
握手定理
图中每条边都有两个端点(环两个端点相同),所以一条边就会为两个端点各增加1度,总共2度,因而得到握手定理:图中结点度数的总和等于边数的二倍
根据握手定理可知:
- 图中度数为基数的结点个数为偶数
- 有向图中各节点的出度之和等于各节点入度之和,等于边数
六、图的同构
设两个图G=<V,E>和G’=<V’,E’>,如果存在双射函数g:V→V’,使得对于任意的e=(vi,vj)(或者<vi,vj>)∈E,当且仅当e’=(g(vi),g(vj))(或者<g(vi),g(vj)>)∈E’,并且e和e’的重数相同,则称G与G’同构,记为G≌G’(说简单点就是邻接矩阵一样)
同构的必要条件
- 结点数目相同
- 边数相同
- 度数相同的结点数相同
七、通路和回路
定义
给定图G=<V,E>中结点和边相继交错出现的序列
Γ=v0e1v1e2……ekvk
若Γ中边ei的两端点是vi-1和vi,i=1,2,……,k称Γ为结点v0到结点vk的通路。
v0和vk分别称为此通路的始点和终点,统称为通路的端点。
通路中边的数目k称为此通路的长度。当v0=vk时,此通路称为回路
- 若通路中的所有边都互不相同,则称此通路为简单通路,否则称为复杂通路;
- 若回路中的所有边都互不相同,则称此回路为简单回路,否则称为复杂回路
- 若通路中的所有结点互不相同,所有边互不相同,则称此通路为基本通路或初级通路
- 若回路中的所有结点除v0=vk外都互不相同,所有边互不相同,则称此回路为基本回路或初级回路
记号的简化
回路是通路的特殊情况
在不会引起误解的情况下一条通路可以用边序列e1e2……en表示
在简单图中,一条通路也可以用结点序列v0v1……vn表示
通路数量计算
设G=…<V,E>为线图,V={v1,v2,……,vn},A=(aij)n×n为G的邻接矩阵,Am=(aij(m))n×n,则:
- aij(m)为从结点vi到结点vj长度为m的通路数目
- aii(m)为从结点vi到自身长度为m的回路数目
八、可达性和最短通路
可达性定义
在图G=…<V,E>中vi,vj∈V。如果从vi到vj存在通路则称vi到vj是可达的,否则称vi到vj不可达。规定:任何结点到自身都是可达的
引理
- 在一个具有n个节点的图中,如果从节点vi到vj(vi≠vj)存在一条通路,则从vi到vj存在一条长度不大于n-1的通路
- 在一个具有n个节点的图中,如果存在经过vi的回路,则存在一条经过vi的长度不大于n的回路
可达性矩阵
设G=<V,E>是一个线图,其中V={v1,v2……vn},并假设结点已经有了从v1到vn的次序,称n阶方阵P=(pij)n×n为图G的可达性矩阵。vi到vj可达 pij=1否则pij=0
最短通路
如果vi到vj可达,则称长度最短的通路为从vi到vj的短程线,从vi到vj的短程线的长度称为从vi到vj的距离,d(vi,vj)。如果vi,vj不可达,则记为d(vi,vj)=∞
结点距离性质
- d(vi,vj) ≥0
- d(vi,vi)=0
- d(vi,vk) + d(vk,vj) ≥ d(vi,vj)
- 无向图满足d(vi,vj)=d(vj,vi),有向图不一定
结点间距离判定定理
设G=<V,E>为线图,V={v1,v2……vn},A=(aij)n×n为G的邻接矩阵,Am=(aij(m))n×n,m=i,2,……n
如果所有aij(m)均为0 d(vi,vj)=∞ 否则d(vi,vj)=min{m|aij(m)≠0}
把全部n-1个连通矩阵都算出来,取最小值就是距离
九、无向图的连通性
若无向图G中任何两个结点都是可达的,则称G是连通图,否则G是非连通图或分离图
- 无向完全图Kn(n≥1)都是连通图
- 多于一个结点的零图都是非连通图
- 非平凡无向图G是连通图当且仅当它的可达性矩阵P的所有元素均为1
无向图G=<V,E>中结点之间的可达关系R={<u,v>|u,v∈V,u到v可达},则R是V上的等价关系
无向图G=<V,E>中结点之间的可达关系R的每个等价类导出的子图都称为G的一个连通分支(连通的子图就是连通分支)。用p(G)表示G中连通分支个数
点割集和边割集
对于一个无向图
- G-e表示从图G中删除边e,G-E’表示从图G中删除边的结合E’中所有边
- G-v表示从图G中删除结点v及其关联的所有边,G-V’表示从图G中删除结点集合V’中所有结点以及这些结点关联的所有边
设无向图G=<V,E>,若存在结点子集V’⊂V,使得p(G-V’)>p(G),而对于任意的V"⊂V’,均有p(G-V")=p(G),称V’为G的一个点割集。若点割集中只有一个点v,则v为割点
设无向图G=<V,E>,若存在边的子集E’⊂E,使得p(G-E’)>p(G),而对于任意的E"⊂E,均有p(G-E")=p(G),则称E’为G的一个边割集。若边割集中只有一条边e,e为割边
说简单点就是:
- 删去最少的点及这些点关联的边,把一个图分为多个,这些点构成点割集
- 删除最少的边,把一个图分为多个,这些边构成边割集
连通度
设无向连通图G=<V,E>
- 称κ(G)=min{|V’||V’为G的点割集或G-V’为平凡图}为G的点连通度,若κ(G)≥k,则G为k-连通图
- 称λ(G)=min{|E’||E’为G的边割集}为G的边连通度,若λ(G)≥k,则称G为k边-连通图
说简单点:
- 点连通度就是最小点割集的基数
- 边连通度就是最小边割集的基数
平凡图点连通度、边连通度都是0
完全图五点割集,点连通度为n-1,边连通度为n-1
存在割点,点连通度1,存在割边,边连通度1
非连通图连通度、边连通度都是0
十、有向图的连通性
设G=<V,Egt;是一个有向图
- 略去所有边的方向得到的无向图是连通图,称G是连通图或弱连通图。否则G为非连通图
- 若G中任何一对结点之间至少有一个结点到另一个结点是可达的,G为单向连通图
- G中任何一对结点之间都是相互可达的,G是强连通图
判断强连通图和单向连通图的充要条件
- 有向图G是强连通图的充分必要条件是G中存在一条经过所有结点至少一次的回路
- 有向图G是单向连通图的充分必要条件是G中存在一条经过所有结点至少一次的通路
可达性矩阵判断连通
- 强连通图的可达性矩阵P的所有元素均为1
- 单向连通图的可达性矩阵,P∨PT中除主对角线都是1
连通分支
在有向图G=<V,E>中,设G’是G的子图,如果
G’是强/单向/弱连通
对任意G"⊆G,若G’⊆G",则G"不是强/单向/弱连通(极大性)
那么称G’是G的强/单向/弱连通分支。