数据结构学习日志之十六--图

图是比树形结构和线性结构更为复杂的数据结构。

线性表里面,除第一个和最后一个,每个数据元素都只有一个直接前驱和直接后继。

树形结构中,数据元素有着明显的层次关系,每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中的一个元素相关。

而在图中,结点之间的关系可以是任意的,图中任意两个数据元素都可能相关。

图是一种数据结构,在图中的数据元素通常称作顶点。假设V是顶点的集合;VR是两个顶点之间的关系的集合。那么如果<v, w>∈VR,那么<v, w>表示从v到w的一条弧,v是弧尾或初始点,w是弧头或终端点。此时的图称为有向图,如果<v, w>∈VR,且<w, v>∈VR。那么以(v, w)代替这两个有序对,表示v,w之间的边,此时为无向图。

如果我们用n表示图的顶点数目,用e表示边或弧的数目。假设不考虑顶点到自身的弧或边。对于无向图,e的取值范围是0到½n(n-1),有½n(n-1)条边的无向图称为完全图。对于有向图,e的取值范围是n(n-1),有n(n-1)条弧的有向图称为有向完全图。

另外,当e<nlogn的图为系数图,反之为稠密图。

如果图的边或弧具有与它相关的数,这种图的边或弧相关的数叫做权。带权的图称为网。

对于无向图,E是其边的集合,如果(v,v')∈E,那么v和v'互为邻接点,即v和v'相邻接。顶点v的度是和v相关联的边的数目。

对于有向图,A是其弧的集合,如果(v,v')∈A,那么称v邻接到顶点v',以v为头的弧的数目称为v的入度,以v为尾的数目称为v的出度。

对于无向图,如果v和v'有路径,则称v和v'是连通的。对于任意两个顶点都是连通的,这个图就是连通图。

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

如果一个有向图有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。

猜你喜欢

转载自blog.csdn.net/chanbendong/article/details/80312538