数据结构-图

0、前言:

线性表(一对一关系),每个元素之间只有一个直接前驱和一个直接后继。

树形结构(一对多关系),数据元素之间是层次关系,并且每一层的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素有关。(结点的孩子和双亲)

1、图(多对多关系)

图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。在图中的数据元素,我们称之为顶点(Vertex),顶点集合穷非空。在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。

顶点:线性表中我们把数据元素叫元素,树中数据元素叫结点,在图中数据元素,我们则称之为顶点

边:线性表中,相邻的数据元素之间具有线性关系,树中,相邻两层的结点中具有层次关系,图中任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示

 2、有向图和无向图

图按照边的有无方向分为无向图和有向图。无向图由顶点和边组成,有向图由顶点和弧构成。弧有弧尾和弧头之分,带箭头一端为弧头。

无向边:若顶点v1到v2之间的边没有方向,就是无向边,使用无序偶(,)(v1,v2)表示

有向边:若顶点v1到顶点v2的边有方向,则称这条边为有向边,又称为弧,使用有序偶<,><v1,v2>表示,其中v1为弧尾,v2为弧头,v1--->v2,有向边的两个顶点不能交换

3、简单图

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

4、无向完全图和有向完全图

无向完全图:在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。有n个顶点的完全无向图有n(n-1)/2 条边

有向完全图:在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称改图为有向完全图。含有n*(n-1)条边

5、稀疏图和稠密图

按照边或弧的多少来分稀疏图和稠密图。大于n*logn为稠密图,反之为稀疏图

6、网

有些图的边或弧具有与他相关的数字,这种与图的边或弧相关的数叫做权(Weight)。这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为网(Network)

7、子图

假设有两个图G= (V,{E})和G'= (V',{E'}),如果V'是V的子集,且E'是E的子集,则称G'为G的子图。如下图带底纹的图均为左侧无向图与有向图的子图。

原文地址:https://www.cnblogs.com/lemonzhang/p/12386638.html