图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成。
通常表示为:
G(V,{E})
,其中,G 表示一个图,V 是图 G 中顶点的结合,E 是图 G 中边的集合。
各种图定义
无向边:若顶点
vi
到
vj
之间的边没有方向,则称这条边为无向边(Edge)。用无序偶对
(vi,vj)
来表示。
无向图:图中任意两个顶点之间的边都是无向边。
对于下图中的无向图,
G1=(V1,{E1})
,其中顶点集合
V1={A,B,C,D}
;边集合
E1={(A,B),(A,C),(A,D),(B,C),(D,C)}
。由于无方向,顶点
A
与
有向边:若从顶点
vi
到
vj
的边有方向,则称这条边为有向边,也称为弧(Arc)。用有序偶对
<vi,vj>
<script type="math/tex" id="MathJax-Element-14">
</script> 来表示,
vi
称为弧尾(Tail),
vj
称为弧头(Head)。
有向图:任意两个顶点之间的边都是有向边。
对于下图中的有向图,
G2=(V2,{E2})
,其中顶点集合
V2={A,B,C,D}
;边集合
E2={<A,D>,<B,A>,<B,C>,<C,A>}
。由于有方向,连接顶点
A
到
简单图:不存在顶点到自身的边,且同一条边不重复出现。
无向完全图:任意两个顶点之间都存在边。 含有
n
个顶点的无向完全图有
有向完全图:任意两个顶点之间都存在方向互为相反的两条弧。 含有
n
个顶点的有向完全图有
稀疏图:有很少条边或弧的图。反之称为稠密图。
权(Weight):与图的边或弧相关的数。这些权可以表示从一个顶点到另一个顶点的距离或耗费。
网(Network):带权的图。
假设有两个图 G=(V,E) 和 G′=(V′,E′) ,如果 V′⊆V 且 E′⊆E ,则称 G′ 为 G 的子图(Subgraph)。
图的顶点与边间的关系
无向图G=(V,{E})
邻接点(Adjacent):如果边
(v,v′)ϵE
,则称顶点
v
和
度(Degree):顶点
v
的度是和
边:边数为各顶点度数和的一半:
e=12∑ni=1TD(vi)
。
有向图 G=(V,{E})
邻接:如果弧
<v,v′>ϵE
<script type="math/tex" id="MathJax-Element-47">
\epsilon E</script>,则称顶点
v
邻接到顶点
入度(InDegree):以顶点
出度(OutDegree):以顶点
v
为尾的弧的数目称为
度:顶点
v
的度为
边:边数为各顶点的入度和或出度和。
e=∑ni=1ID(vi)=∑ni=1OD(vi)
。
路径
树中根结点到任意结点的路径是唯一的,但是图中顶点与顶点之间的路径不唯一。
路径的长度:路径上的边或弧的数目。
回路或环(Cycle):第一个顶点到最后一个顶点相同的路径。
简单路径:序列中顶点不重复出现的路径。
简单回路或简单环:除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路。
连通图相关术语
无向图
连通:在无向图
G
中,从顶点
连通图:图中任意两个顶点
vi,vjϵV
,
vi
和
vj
都是连通的。
连通分量:无向图中的极大连通子图。
注意,连通分量强调:
1、要是子图;
2、子图要是连通的;
3、连通子图含有极大顶点数;
4、具有极大顶点数的连通子图包含依附于这些顶点的所有边。
上图为一个无向非连通图。但它有两个连通分量。
下图尽管是上面无向非连通图的子图,但不满足连通子图的极大顶点数,因此它不是其连通分量。
有向图
强连通图:在有向图
G
中,对于每一对
有向图的强连通分量:有向图中的极大强连通子图。
生成树
1、一个连通图的生成树是一个极小的连通子图,它含有图中全部的
n
个顶点,但只有足以构成一棵树的
2、如果一个有向图恰有一个顶点的入度为
0
,其余顶点的入度均为
3、一个有向图的生成森林由若干棵有向树组成,含有图中全部顶点,但只有足以构成若干棵不相交的有向树的弧。