leiyahui

纸上得来终觉浅,绝知此事要躬行
图的定义和基本操作

一 图的定义

图是一种非线性的数据结构

定义为:

G=(V,R);

V=(Vi|Vi belongs datatype ,i=0,1,2,..n-1,n>=0)

R=(<vi,vj>|(Vi,Vj) belongs V P(Vi,Vj),0<=i,j<=n-1)

G 是图,V是图中的数据元素,R是数据元素之间关系的集合,P(vi,vj)表示两个节点之间是否存在路径。

如果两个节点之间存在一条路径的话,则关系<vi,vj>属于R,

图的基本定义

有向图:如果存在两个节点,如果关系<vi,vj>存在方向性,也就是<vi,vj>!=<vj,vi>,则对应的图为有向图。<vi,vj> belongs R则表示定点vi到vj的一条弧。有限图的最大数量是n(n-1)2.边树最大的时候被称为有项完全图。

无向图:设vi和vj两个节点,如果说<vi,vj> belongs R 的时候,那么<vj,vi> belongs R,那么这种图是无向图。无向图中弧的最大数量是n(n-1)/2。边树最大的时候被称为无项完全图

稀疏图:弧或者边树很少的图,

稠密图:弧或者边树很少的图,很显然无项和有项完全图都是稠密图

网:图的关系<vi,vij>上附加一个值w,称w为弧或者边的权,权的大小视情况而定。带权的图称为网。

定点的度:如果E为无向图R的弧的集合,<vi,vj> belongs E,则称Vi,Vj为相临接点,某顶点V的度D(V)代表与V相关联的边树。入度ID(v)是以V为弧头的弧的数量,出度(OD)是以V为弧尾的弧的数量。

如果图的顶点树为n,所有弧的数量是e,则e=(D(v1)+D(v2)+D(v3).....+D(vn))/2,因为不管是有向图还是无向图,在统计每一个顶点的度的时候都被统计了两次。所以说要除以2

路径:从图中的Vi节点出发,经过一些顶点之后能够到达Vj节点,则称vi节点与Vj节点存在一条通路,称为路径。

图中两个节点的关系是任意的,所以说路径可能会存在回路,

如顶点Vi到顶点Vj的一条路径(Vi,Vi+1,Vi+2,,,,,vi+n),满足(Vi,Vi+1)belongs E(边的集合),路径中边的条数称为路径的的长度。

如果路径中vi+j(0<j<n)不重复出现,则称其为简单路径,如果说路径的起点和终点一样的话称为简单回路。

连通性:如果说Vi到Vj存在路径则称Vi到Vj是连通的。如果图中的任意两个顶点都是连通的,则称这个图是无向连通图。连通分量是指图中极大的连通子图。

在有向图中,如果任意两个顶点都存在路径,则称这个图为强连通图。极大强连通子图称为强连通分量

生成树:

无向连通图的生成树是一个极小连通子图,它包含图中所有的顶点,无向非连通图的生成树不止一棵(可以视为森林)

生成森林:

有向图的一个顶点的入度为0,出度为1,那么这个有向图可以视为一棵有向树。一个有向图的生成森立F由若干棵树组成,F是有向图的一个子图,它包含有途中所有的顶点,但是只有构成若干棵不想交子树的弧。

 

posted on 2015-12-16 19:39  雷大叔  阅读(326)  评论(0)    收藏  举报