数据结构基础之图的种类


图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为G(V,E),G表示一个图,V是图G中顶点的集合,E是图G中边的集合。线性表中我们把数据元素加元素,树中将数据元素叫结点,在图中数据元素,我们称之为顶点。
线性表中可以没有数据元素,称为空表。树中可以没有结点,叫做空树。在图结构中,不允许没有结点,因为在定义图时强调了顶点集合V有穷非空。线性表中,相邻数据元素之间具有线性关系,树结构中,相邻两层的结点具有层次关系,而在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空。
1, 各种图的定义
有向无边:若顶点Vi到顶点Vj之间的边没有方向,则称这条边为无向边(Edge),用无序偶对(Vi,Vj)来表示。如果图中任意两个顶点之间的边都是无向边,则称该图为无向图,由于是无方向的,连接顶点A与D的边可以表示为无序对(A,D)也可以写成(D,A)。
有向边:若从顶点Vi到Vj的边有方向,则称这条边为有向边,也称为弧(Arc)。用有序偶来表示,Vi称为弧尾,Vj称为弧头。如果图中任意两个顶点之间的边都是有向边,则称为有向图,连接顶点A到顶点D的有向边就是弧,A是弧尾,D是弧头。
在图中,若不存在顶点到其自身的边,而且同一条边不重复出现,则称这样的图为简单图。
在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。
有很少条边或弧的图称为稀疏图,反之称为稠密图
与图的边或弧相关的数叫权,这种带权的图通常称为网。
2, 图的顶点与边之间的关系
对于无向图G=(V,{E}),如果边(v1,v2)∈E,则称顶点v1和v2互为邻接点,即v1和v2相邻接。边(v1,v2)依附于顶点v1和v2,或者说(v1,v2)与顶点v1和v2相关联。顶点的度是和v相关联的边的数目。
数据结构基础之图的种类_第1张图片
例如图2-1所示,顶点A与B互为邻接点,边(A,B)依附于顶点A与B之上,顶点A的度为3,而此图的边数为5,各个顶点度的和胃3+2+3+2=10,发现边数为各顶点度数和的一半,多出的一半是因为重复两次计数。
对于有向图G=(V,{E}),如果弧v1,v2∈E,则称顶点v1邻接到顶点v2,顶点v2邻接自顶点v1。弧和顶点v1,v2相关联。以顶点v为头的弧的数目称为v的入度,记为ID(v);以v为尾的弧的数目称为v的出度,记为OD(v);顶点v的度为TD(v)=ID(v)+OD(v)。
数据结构基础之图的种类_第2张图片
例如图所示,顶点A的入度是2,出度是1,所以顶点A的度是2+1=3.此有向图的弧共有4条。
图中从顶点v1到顶点v2的路径是一个顶点序列。树中根结点到任意结点的路径是唯一的,但是图中顶点与顶点之间的路径却不是唯一的。路径的长度是路径上的边或弧的数目,第一个顶点到最后一个顶点相同的路径称为回路或者环。序列中顶点不重复出现的路径称为简单路径。除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环。
3, 连通图
在无向图中,如果从顶点A到顶点B有路径,则称A和B是连通的。如果对于图中任意两个顶点Vi和Vj都是能够连通的,则称该图是连通图。
无向图中的极大连通子图称为连通分量。注意:子图,连通的子图,连通的子图具有极大顶点数。
在有向图中,如果对于每一对Vi和Vj,从Vi到Vj和从Vj到Vi都存在路径,则称G是强连通图。有向图中的极大强连通子图称为有向图的强连通分量。
连通图的生成树:连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但是只有足以构成一棵树的n-1条边。不过有n-1条边并不一定是生成树。如果一个有向图洽有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。一个有向图的生成森林由若干课有向树组成,含有图中全部顶点,但是只有足以构成若干棵不相交的有向树的

你可能感兴趣的:(数据结构,图)