【学习笔记----数据结构14-图】

来源:互联网 发布:淘宝代运营托管 编辑:程序博客网 时间:2024/05/17 03:25

 图

定义:是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为GV,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合

注意:

1.    在图中数据元素,我们称之为顶点

2.    在图结构中,不允许没有顶点。在定义中,若V是顶点集合,则强调顶点集合V有穷非空

3.    图中,任意两个顶点之间都有可能有关系,顶点之间的逻辑关系用边来表示。(边集可以为空)

 

无向边:若顶点Vi到Vj之间的边没有方向,则称这条边为无向边,用无序偶对(vi,vj)来表示。

无向图:如果图中任意两个顶点之间的边都是无向边。则称为无向图。由于是无向的,连接顶点A与D的边,可以表示成无序对(A,D),也可以写成(D,A)


对于无向图G1={V1,{E1}}

V1={A,B,C,D};

边集全E1={(A,B),(B,C),(C,D),(D,A),(A,C)}

有向边:若从顶点Vi到Vj;的边有方向,则称这条边为有向边,也称为弧(Arc)

              用有序对<Vi,Vj>,Vi称为弧尾,Vj称为弧头。

有向图:如果图中任意两个顶点之间的边都是有向边,则称该图为有向图。


连接顶点A到D的有向边就是弧,A是弧尾,D是弧头,<A,D>表示弧,注意不能写成<D,A>。

G2=(V2,{E2})

其中顶点集合V2={A,B,C,D};

弧集合E2={(A,D),(B,A),(C,A),(B,C)}

在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。

我们将要讨论的图都是简单图。

在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图

含有n个顶点的无向完全图有n(n-1)/2条边

在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图

含有n个顶点的有向完全图有n(n-1)条边。

 

有很少条边或弧的图称为稀疏图,反之称为稠密图

有些图的边或弧具有与它相关的数字,我们称之为边或弧相关的数叫做权

这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为网(Network)。


子图:假设有两个图G=(V,{E})和G’=(V’,{E’}),如果V’真包含于V

         E’真包含于E,则称G’为G的子图。

 

图的顶点与边的关系


对于无向图G=(V,{E}),如果边(v,v’E,则称顶点VV’互为邻接点(Adjacent),即VV’,相邻接。边(v,V’)依附于顶点VV’相关联。顶点V的度(Degree)是和V相关联的边的数目记为TDv

如图顶点A和B互为邻接点,边(A,B)依附与顶点A与B上,顶点A的度为3。而此图的边数是5,各顶点度的和=3+2+3+2=10。推敲后发现,边数其实就是各顶点度数和的一半

多出的一半是因为重复两次记数

简记为

对于有向图G=V{E}),如果弧<v,v’> E,则称顶点V邻接到顶点V’,顶点V’邻接自顶点V。弧<v,v’>和顶点V,V’相关联。以顶点V为头的弧的数目称为v的入度(InDegree),记为IDv);以v为尾的弧的数目为v的出度(OutDegree)记为OD(v);顶点v的度为TDv=ID(v)+OD(v)

 

树中根结点到任意结点的路径是唯一的,但是图中顶点与顶点之间的路径却是不唯一的。

路径的长度是路径上的边或弧的数目

第一个顶点到最后一个顶点相同的路径称为回路或环。序列中顶点不重复出现的路径称为简单路径。除第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路径称为简单回路或简单环


上图粗线都构成环,左侧的环因第一个顶点和最后一个顶点都是B,且CDA没有重复出现,因此是一个简单环。而右侧的环,由于顶点C的重复,它就不是简单环了。

连通图相关术语

在无向图G中,如果从顶点v到顶点v’有路径,则称v和v’是连通的。如果对于图中任意两个顶点vi、vj∈v,vi和vj都是连通的,则称G是连通图(Connected Graph)。

 

上图1顶点A到顶点BCD都是连通的,但显然顶点A到顶点E或F就无路径,因此不能算是连通图。

无向图中的极大连通子图称为连通分量

要是子图

子图要是连通的

连通子图含有极大顶点数

具有极大顶点数的连通子图包含依附于这些顶点的所有边

上图1是一个无向非连通图。但是它有两个连通分量,即图2和下图3


尽管图4是图1的子图,但是它却不满足连通子图的极大顶点数。因此它不是图1的无向连通分量

 

在有向图G中,如果对于每一对vivjVvivj,从vivj和从vjvi都存在路径,则称G是强连通图。有向图中的极大强连通子图称做有向图的强连通分量

 

所谓一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边

 

如果一个图有n个顶点和小于n-1条边,则是非连通图,如果多于n-1条边。必定构成一个环,因为这条边使得它的那两个顶点之间有了第二条路径。不过有n-1条边并不一定是生成树。

 

如果一个有向图恰有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。对有向树的理解比较容易,所谓入度为0其实就相当于树的根结点,其顶点入度为1就是说树的非根结点的双亲只有一个。一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只有足以构成若干棵不相交的有向树的弧

 

总结

图按照有无方向分为无向图有向图

无向图由顶点构成

有向图由顶点构成

图按照边或弧的多少分为稀疏图稠密图

如果任意两个点之间都存在边称为完全图,如果是有方向的称为有向完全图。

若无重复的边或顶点到自身的边则叫简单图

图中顶点之间有邻接点、依附的概念。

无向图顶点的边数叫做,有向图顶点分为入度出度

图上的边或弧上带权则称为

图中顶点间存在路径,两顶点存在路径说明是连通的。如果路径最终回到起点称为,当中不重复叫简单路径。若任意两点都是连通的,则图就是连通,有向则称强连通图

图中有子图,若子图极大连通则就是连通分量,有向的则称强连通分量。

无向图中连通n个顶点n-1条边叫生成树

有向图中一顶点入度为0其余顶点入度为1的叫有向树。一个有向图由若干棵有向树构成生成森林

 

0 0