6.1.1 图的定义
图(Graph)是由顶点的有穷集合和顶点之间边的集合组成,通常表示为:G(V,E),其中G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
图中的数据元素称为顶点(Vertex),图中任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集合可以是空集。
无向边:若顶点到顶点之间的边没有防线,则称这条边为无向边(Edge),用无序偶对 来表示。如果图中任意两个顶点之间的边都是无向边,则称这个图为无向图(Undirected graphs)。
有向边:若从顶点到之间的边有方向,则称这条边为有向边,也称为弧(Arc)。用有序偶 来表示, 称为弧尾(Tail), 称为弧头(Head)。如果图中任意两个顶点之间的边都是有向边,则该图为有向图(Directed graphs)。
在图中,如果不存在顶点到其自身的边,且同一条边不重复出现,这样的图称为简单图。在无向图中,如果任意两个顶点之间都存在边,则称该图为无向完全图。含有n个顶点的无向完全图中有 条边。在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,这样的图称为有向完全图。含有n个顶点的有向完全图有 条边。
有很少条边或弧的图称为稀疏图,反之为稠密图。
有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫做权(Weight),这些权可以表示从一个顶点到另一个顶点的距离或耗费,像这些带权的图称为网(Network)。
6.1.2 图的顶点与边之间的关系
邻接:有边或弧相连的两个顶点之间的关系。如果存在 ,则称 和 互为邻接点。如果存在 ,则称 邻接到 , 邻接于 。
关联(依附):边或弧于顶点之间的关系。如果存在 或 ,则称这条边或弧关联于 和 。
顶点的度(Degree):与该顶点相关联的边的数目,记作:。在有向图中,顶点的度等于该顶点的入度(InDegree)和出度(OutDegree)之和。顶点的入度是以v为终点的有向边的数目,记作:;顶点的出度是以v为起点的有向边的数目,记作:。当有向图中仅有一个顶点的入度为0,其余顶点的入度为1,此时它是一棵有向树。
路径长度:路径上边或弧的数目或权值之和。
回路或环(Circle):第一个顶点到最后一个顶点相同的路径。除了第一个顶点和最后一个顶点相同外,其余顶点均不相同的回路,称为简单回路或简单环。
6.1.3 连通图
在无(有)向图G = (V, {E})中,若对任何两顶点v,u都存在从v到u的路径,则称G是连通图(强连通图)。
子图:设有两个图G = (V, {E}),G1 = (V1, {E1}),若,则称G1是G的子图。
连通分量(强连通分量):无向图G的极大连通子图称为G的连通分量。
极大连通子图:该子图是G连通子图,将G的任何不在该子图的顶点加入,子图不在连通。有向图G的极大强连通子图称为G的强连通分量。
极小连通子图:该子图是G的连通子图,在通子图中删除任意一条边或弧,子图不在连通。
生成树:包含无向图G所有顶点的极小连通子图。
生成森林:对非连通图,由各个连通分量的 生成树构成的集合。