数据结构——第六章 图
第六章 图
6.1 图的基本概念
- 图G由顶点集V和边集E组成,记为G=(V,E)
其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合
若V=v1,v2,v3,…,v**n,用|V|表示图G中顶点的个数,也称为图G的阶,E=(u,v)|u∈V,v∈V,用E表示图G中边的条数。
-
注意:线性表可以是空表,树可以是空树,但图不可以是空图;也就是说,图中不能一个顶点也没有
图中顶点集V一定非空,但是边集E可以为空,此时图中只有顶点而没有边
-
无向图 ——若E是无向边(简称边)的有限集合时,则图G为无向图。边是顶点的无序对,记为(v,w)或(w,v),以为(v,w)=(w,v),其中v和w是顶点。可以说顶点w和顶点v互为邻接点。边<v,w>依附于顶点w和v,或者说边(v,w)和顶点v,w相关联;无向图G2可表示为:G1=(V1,E1); V1=1,2,3;E1=<1,2>,<2,1>,<2,3>
-
有向图——若E是有向边(也称为弧)的有限集合时,则图G为有向图。弧是顶点的有序对,记为<v,w>,其中v,w是顶点。w称为弧头,v称为弧尾,称为从顶点v到顶点w的弧,也称为v邻接到w,或w邻接自v;所示的有向图 G1可表示为: G1=(V1,E1);V1=1,2,3;E1=<1,2>,<2,1>,<2,3>
-
简单图 ——一个图G如果满足:
1.不存在重复边;2.不存在顶点到自身的边。
则可以称为简单图;数据结构中只讨论简单图
-
多重图——若图G中,某两点之间的边数多于一条,又允许顶点通过一条边和自己关联,则G为多重图;多重图的定义和简单图是相对的
-
顶点的度,入度和出度
图中每个顶点的度定义为以该顶点为一个端点的边得数目。
-
对于无向图,顶点v的度是指依附于该顶点的边的条数,记为TD(v)
即无向图的全部顶点的度之和等于边数的两倍,这是因为每条边和两个顶点相关联
-
对于有向图,顶点v的度分为入度和出度:
入度是以顶点v为终点的的有向边的数目,记为ID(v)
出度是以v为起点的有向边的数目,记为OD(v)
即顶点v的度等于其入度和出度之和,即TD(v)=ID(v)+OD(v)
-
-
顶点—顶点的关系描述
无向图之间有可能不存在路径;有向图的路径也是有向的
- 路径:顶点vp到顶点vq之间的一条路径是指顶点序列vp,vi1,vi2,…,vim,vq
- 回路——第一个顶点和最后一个顶点相同的路径称为回路或者环
- 简单路径——在路径序列中,顶点不重复重现的路径称为简单路径
- 简单回路——除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路称为简单回路
- 路径长度——路径上边的数目
- 点到点的距离——从顶点u出发到顶点v的最短路径若存在,则此路径的长度称作从u到v的距离。若从u到v不存在路径,则记该距离为无穷∞
- 连通——在无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的; 在有向图中,若从顶点v到顶点w和从顶点w到顶点v之间都有路径,则称这两个顶点是强连同的
-
连通图、强连通图
-
无向图中,若图G中任意两个顶点都是连通的,则称图G为连通图,否则为非连通图
考点:对于n个顶点的无向图G,若G是连通图,则最少有n-条边;若G是非连通图,则最多可能有C 2 n-1条边
-
有向图中,若图中任何一对顶点都是强连同的,则称此图为强连通图
考点:对于n个顶点的有向图G,若G是强连通图,则最少有n条边(形成回路)
-
-
研究图的局部——子图
设有两个图G=(V,E)和G‘=(V‘,E‘),若E‘是E的子集,V‘是V的子集,则称G‘是G的子图
注意:并非任意调几个点、几条边都能构成子图
若有满足V(G)=V(G’)的子图G’(子图中包含原图的所有结点),则称其为G的生成子图
-
连通分量
无向图中极大连通子图称为连通分量;子图必须连通,且包含尽可能多的顶点和边
-
强连通分量
有向图中的极大连通子图称为有向图的强连通分量;子图必须强连通,同时保留尽可能多的边
-
生成树
(无向图中)连通图的生成树是包含图中全部顶点的一个极小连通子图;边尽可能的少,但要保持连通
一个连通图的生成树可能有多个
如图中顶点数为n,则他生成的树含有n-1条边。对于生成树而言,若砍去她的一条边,则会编程非连通图,若加上一条边则会形成一个回路
-
生成森林
(无向图中)在非连通图中,连同分量的生成树构成了非连通图的生成森林
-
边的权、带权图/网
- 边的权——在一个图中,每条边可以表上具有某种意义的数值,该数值称为改边的权值
- 带权图/网——边上带有权值的图称为带权图,也称作网
- 带权路径长度——当图时带权图时,一条路径上所有边的权值之和,称为该路径的带权路径长度
-
几种特殊形态的图
-
无向完全图——无向图中任意两个顶点之间都存在边;若无向图的顶点数为n,则边的数量为C 2 n
-
有向完全图——有向图中任意两个顶点之间都存在方向相反的两条弧;若无向图的顶点数为n,则边的数量为2*C 2 n
-
边很少的图称为稀疏图,反之称为稠密图;一般图G满足|E|<|V|∗log|V|时,可以将G看做是稀疏图
-
树——不存在回路,且连通的无向图;n个顶点的树,必有n-1条边
常见考点:n个顶点的图,若|E|>n-1,则一定有回路
-
有向树——一个顶点的入度为0,其余顶点的入度均为1的有向图
-