图:
图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
1、图中数据元素我们称之为顶点(Vertex)。
2、图中顶点集合有穷非空
3、图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。
无向边:
若顶点vi到vj之间的边没有方向,则称这条边为无向边(Edge),用无序偶对(vi,vj)来表示。
无向图:
如果图中任意两个顶点之间的边都是无向边,则称该图为无向图 (Undirected graphs)。
G = ( V1,{E1} ),其中顶点集合 V1 = {A,B,C,D}; 边集合 E1 = { (A,B),(B,C),(C,D),(D,A),(A,C) }
有向边:
若从顶点Vi到Vj的边有方向,则称这条边为有向边,也称为弧(Arc)。用有序偶<Vi,Vj>来表示,Vi称为弧尾(Tail),Vj称为弧头(Head)。
有向图:
如果图中任意两个顶点之间的边都是有向边,则称该图为有向图(Directed graph)。
G = ( V1,{E1} ),其中顶点结合 V2 = {A,B,C,D};弧集合 E1 = { <A,D>,<B,A>,<C,A>,<B,C> }
简单图:
如果图中不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。
无向完全图:
在无向图中,如果任意两个顶点之间都存在边,则称改图为无向完全图。
含有n个顶点的无向完全图有(n*(n-1))/2条边。
有向完全图:
在有向图中,如果任意两个顶点之间都存在方向互为相反的两条弧,则称该图为有向完全图。
含有n个顶点的有向完全图有n*(n-1)条边。
有很少条边或弧的图称为稀疏图,反之称为稠密图(都是相对来说)
权:
有些图的边或弧具有与它相关的数字,这种与图的边或弧相关的数叫做权(Weight)。这些权可以表示从一个顶点到另一个顶点的距离或耗费。这种带权的图通常称为网(Network)。
子图:
假设有两个图 G = ( V,{E} ) 和 G′ = ( V′,{E′} ),如果V′∈V且E′∈E,则称G′为G的子图(Subgraph)。
度:
对于无向图,顶点V的度(Degree)是和V相关联的边的数目,记为TD(V)。
上面的的无向图顶点A的度为3,图的边数是5,各个顶点的度的和=3+2+3+2=10, 边=度数和/2。
对于有向图,以顶点V为头的弧的数目称为V的入度(InDegree),记为ID(V);以V为尾的弧的数目称为V的出度(OutDegree),记为OD(V); 顶点V的度为TD(V)+OD(V)。
上面有向图,A的入度2,(<B,A>,<C,A>),出度是1,(<A,D>),所以A的度为2+1=3。各顶点的出度和=1+2+1+0=4,入度和=2+0+1+1=4,边=ID=OD。
路径:
一个顶点到另一个顶点的边或弧。
路径长度:
一个顶点到另一个顶点的边或弧的数目。
第一个顶点到最后一个顶点相同的路径称为回路或环(Cycle)。序列中顶点不重复出现的路径称为简单路径。除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环。
连通图(Connected Graph):
在无向图G中,如果从顶点V到顶点V′有路径,则称为V和V′是连通的。如果图中任意两个顶点Vi、Vj∈E,Vi和Vj都是连通的,则称G是连通图。
连通分量:
■ 要是子图;
■ 子图要是连通的;
■ 连通子图含有极大顶点数;
■ 具有极大顶点数的连通子图包含依附于这些顶点的所有边;
上图中第二个和第三个都是图1的连通分量,最后一个不是,不满足极大连通顶点数
强连通图:
在有向图G中,如果对于每一对Vi、Vj∈E,从Vi到Vj和从Vj到Vi都存在路径,则称G是强连通图。
强连通分量:
有向图中的极大强连通子图称做有向图的强连通分量。
//图1,D到C和没有路径,不是强连通图。图2是图一个强连通分量。
连通图的生成树的定义:
一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。
图1去掉构成环的边可能构成树,图4就不是。
如果一个有向图恰有一个顶点的入度为0,其余顶点的入度均为1,则是一棵有向树。
一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只有足以构成若干棵不想交的有向树的弧。
其中图2和图3都是有向树。图2 B的入度为0,其余顶点入度为1。图3 F的入度为0,其余两个顶点的入度为1。
图2图3构成了图1有向图的生成森林