图的基本概念
图的基本概念
图的定义
图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)的集合,至于连线的长度与结点的位置是无关紧要的。
注意:线性表可以是空表,树可以是空树,图不可以是空图,图可以没有边,但是至少要有一个顶点。
1.有向图
若E是有向边(简称弧)的有限集合时,则G为有向图。弧是顶点的有序对,记为
如上图所示G可表示为:
G=(V,E)
V={1,2,3}
E={<1,2>, <2,1>, <2,3>}
2.无向图
若E是无向边(简称边)的有限集合时,则G为无向图。边是顶点的无序对,记为 (v,w) 或(w,v) ,且有 (v,w) =(w,v) 。其中 v,w 是顶点。
如上图所示,无向图G可表示为:
G=(V, E)
V={1,2,3,4}
E={(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)}
简单图
简单图满足以下两条内容:
1)不存在重复边
2)不存在顶点到自身的边
所以上面的有向图和无向图都是简单图。与简单图相对的是多重图,即:两个结点直接边数多于一条,又允许顶点通过同一条边与自己关联。但是我们在数据结构中仅讨论简单图,所以多重图不单独讲解啦。
完全图
无向图中任意两点之间都存在边,称为无向完全图;如无向图中的示例就是完全图。
有向图中任意两点之间都存在方向向反的两条弧,称为有向完全图;如示例中的图就不是完全图,但如果没有顶点3和指向顶点3 的边,就是一个完全图。即下图是一个完全图。
子图
若有两个图G=(V,E),G1=(V1,E2),若V1是V的子集且E2是E的子集,称G1是G的子图。
如上面的有向完全图是有向图的一个子图。
连通、连通图、连通分量
在无向图中,两顶点有路径存在,就称为连通的。若图中任意两顶点都连通,同此图为连通图。无向图中的极大连通子图称为连通分量。
以下面两个图为例,右面的图是左面的图的连通分量,并且右面的图是连通图。左面图中I与J也是连通的。
强连通图、强连通分量
在有向图中,两顶点两个方向都有路径,两顶点称为强连通。若任一顶点都是强连通的,称为强连通。有向图中极大强连通子图为有向图的强连通分量。
以下面的图为例:左图就是一个强连通图,并且是右面图的强连通分量。
生成树和生成森林
连通图的生成树是包含图中全部顶点的一个极小连通子图,若图中有n个顶点,则生成树有n-1条边。所以对于生成树而言,若砍去一条边,就会变成非连通图。
在非连通图中,连通分量的生成树构成了非连通图的生成森林。
顶点的度、入度和出度
顶点的度为以该顶点为一个端点的边的数目。
对于无向图,顶点的边数为度,度数之和是顶点边数的两倍。
对于有向图,入度是以顶点为终点,出度相反。有向图的全部顶点入度之和等于出度之和且等于边数。顶点的度等于入度与出度之和。
注意:入度与出度是针对有向图来说的。
边的权和网
图中每条边上标有某种含义的数值,该数值称为该边的权值。这种图称为带树图,也称作网。
路径、路径长度和回路
两顶点之间的路径指顶点之间经过的顶点序列,经过路径上边的数目称为路径长度。若有n个顶点,且边数大于n-1,此图一定有环。
简单路径、简单回路
顶点不重复出现的路径称为简单路径。
除第一个顶点和最后一个顶点外,其余顶点不重复出现的回路称为简单回路。
距离
若两顶点存在路径,其中最短路径长度为距离。
有向树
有一个顶点的入度为0,其余顶点的入度均为1的有向图称作有向树。如下图: