图的定义
图的定义一
图G = (V, E)是一个系统 ,其中
(1)V≠∅V \ne \varnothingV=∅是一个有限集合;V中的每一元素v∈Vv\in Vv∈V都称为图G的一个结点(node ,vertex), V称为图G的结点集;
(2)E是一个有限集合; E中的每一元素e∈Ee\in Ee∈E都称为图G的一条边(edge) ;E称为图G的边集。
此定义的优点是简单,适应面广;缺点是没有规定清楚点、线之间的关系。
图的定义二
图G = (V, E)是一个系统 ,其中
(1)V≠∅V \ne \varnothingV=∅是一个有限集合;V中的每一元素v∈Vv\in Vv∈V都称为图G的一个结点(node ,vertex), V称为图G的结点集;
(2)E⊆V×VE\subseteq V\times VE⊆V×V是一个有限集合,一个V上的关系; E中的每一元素(u,v)∈E(u,v)\in E(u,v)∈E都称为图G的一条边(edge),这里u,v∈Vu,v\in Vu,v∈V;E称为图G的边集。
此定义的优点是简单,规定了清楚的点、线之间的关系,很适合简单图、特别是有向图(比如第二章的关系图、哈斯图);缺点是无法表示平行边,因此不适合多重图(比如上节的七桥图)
图的定义三
图G=(V,∑,E)G = (V,\sum, E)G=(V,∑,E)是一个系统 ,其中
(1)V≠∅V \ne \varnothingV=∅是一个有限集合;V中的每一元素v∈Vv\in Vv∈V都称为图G的一个结点(node ,vertex), V称为图G的结点集;
(2)∑\sum∑是一有限集合;∑\sum∑中的每一元素σ\sigmaσ都称为图G中的一个标号(label);∑\sum∑称为图G的标号集
(3)E⊆V×∑×VE\subseteq V\times \sum \times VE⊆V×∑×V是一个有限集合,一个三元关系; E中的每一元素(u,σ,v)∈E(u,\sigma,v)\in E(u,σ,v)∈E都称为图G的一条边(edge)或弧(arc),此边起自u而终于v ;称u是此边的起点,称σ\sigmaσ是此边的标号,称v是此边的终点 ,起点和终点统称为边的端点,这里(u,v∈V,σ∈∑)(u,v\in V,\sigma \in \sum)(u,v∈V,σ∈∑); E称为图G的边集。
- 此定义是由美国哈佛大学爱伦堡教授给出的;
- 此定义规定了严格的点、线之间的关系,适应面很广、特别适合多重图(比如上节的七桥图);缺点是边表示比较复杂,简单图一般不采用。
- 标号实际上是为了区别两点间的平行边而设的;标号集的大小一般就是图中平行边的最大条数(图的重数,参见下面概念)。
- 当图的重数为1,即图无平行边时(简单图,参见下面概念),有∑={σ1}\sum = \{\sigma_1\}∑={σ1},各边标号一样,全为σ1\sigma_1σ1.这时可取掉各边标号及标号集,定义3就变成了定义2;所以定义3适合于图的一般情况,特别是(有平行边的)多重图,而定义2适合于(无平行边的)简单图。
图的定义四
图G=(V,E,γ)G=(V,E, \gamma)G=(V,E,γ)是一个系统,其中
(1)V≠∅V \ne \varnothingV=∅是一个有限集合;V中的每一元素v∈Vv\in Vv∈V都称为图G的一个结点(node ,vertex), V称为图G的结点集;
(2)EEE是一个有限集合; E中的每一元素e∈Ee\in Ee∈E都称为图G的一条边(edge);E称为图G的边集。
(3)γ\gammaγ是边到结点集的一个关联函数,即
γ:E→2V(无向图)或γ:E→V×V(有向图)
\gamma :E \to 2^V(无向图)或\gamma :E \to V\times V(有向图)
γ:E→2V(无向图)或γ:E→V×V(有向图)
γ\gammaγ将E中的每条边e∈Ee\in Ee∈E与结点集V中的一个二元子集{u,v}∈2V\{u,v\}\in 2^V{u,v}∈2V(或{u,v}⊆V)\{u,v\}\subseteq V){u,v}⊆V)相关联,或与结点集V上的一个二元组{u,v}∈2V\{u,v\}\in 2^V{u,v}∈2V(或{u,v}⊆V×V)\{u,v\}\subseteq V\times V){u,v}⊆V×V)相关联,即
γ(e)={u,v}(无向图)或γ(e)=(u,v)
\gamma(e)=\{u,v\}(无向图)或\gamma(e)=(u,v)
γ(e)={u,v}(无向图)或γ(e)=(u,v)
称u是此边的起点,称v是此边的终点 ,结点u和v统称为边的端点
- 此定义是对美国库曼教授所给定义的一个修正;
- 此定义的优点是适应面较广,尤其是将边看作是和结点同样的独立的研究对象,边不再是由结点表示的一个附属对象,用函数概念规定了点、线之间的严格关联关系,这样一来,就便于边概念的进一步推广(比如引出超图概念);缺点是关联函数表示比较烦琐,简单图一般不采用。
图论的概念术语
(n,m)图
|V| = n,|E| = m,即有n个结点和m条边的图称为 ( n, m ) 图。
无向边(undirected edges简edges)
在定义3下,若边(u,σ,v)(u,\sigma , v)(u,σ,v)与边(v,σ,u)(v,\sigma ,u)(v,σ,u)表示同一条边,则称此边为无向边。
无向图(undirected graph简graph)
所有的边都是无向边的图称为无向图。记为G。
有向边(directed arc简arc或arrow)
在定义3下,若边(u, , v)与边(v, ,u)表示不同的边,则称此边为有向边。
有向图(directed graph简digraph)
所有的边都是有向边的图称为有向图。记为D。
混和图(mixed graph)
既有有向边又有无向边的图称为混和图。
空图(empty graph)
V=∅(当然E=∅)V=\varnothing (当然 E=\varnothing)V=∅(当然E=∅),即没有一个结点的图称为空图。
零图(null graph)
E=∅E=\varnothingE=∅即没有一条边的图称为零图。
平凡图(trivial graph)
|V| = 1,即只有一个结点的图称为平凡图。
二边相邻(adjacent)
在图中,若两条边有一公共端点,则称此二边相邻。
二结点相邻(adjacent)
若两个结点是同一条边的两个端点,则称此二结点相邻。
一结点与一边相关联(incident)
若一结点是一边的一个端点,则称此结点与该边相关联。
孤立点(isolated vertex)
不与任何边相关联的结点称为孤立点。
自环(loop )
两个端点相同的边称为自环。
平行边(parallel edges )
有相同端点(相同的起点,相同的终点)的两条边称为平行边。
重数(multiplicity)
两结点间平行边的条数称为平行边的重数。
多重图(multiply graph)
具有平行边的图称为多重图;多重图的重数是图中平行边重数的最
大者
简单图(单图、单纯图(simple graph))
无平行边、无自环的图称为简单图。
图的阶(order)
图中结点的个数|V|称为图的阶
完全图(complete graph)
每一对不同的结点间都有一条边的简单图称为完全图。
n个结点m条边的无向完全图:m=n(n−1)2m=\dfrac{n(n-1)}{2}m=2n(n−1)
n个结点m条边的有向完全图:m=n(n−1)m=n(n-1)m=n(n−1)
n个结点的无向完全图记为:KnK_nKn
子图与补图
子图(subgraph)
设G=(V,E)和G′=(V′,E′)G=(V, E)和G'=(V', E')G=(V,E)和G′=(V′,E′)是两个(有向的或无向的)图。
(1) 若V⊆VV\subseteq VV⊆V且E⊆EE\subseteq EE⊆E,则称G′G'G′为GGG的子图;
(2) 若V⊂VV\subset VV⊂V且E⊂EE\subset EE⊂E,则称G′G'G′为GGG的真子图(proper-);
(3) 若V=VV= VV=V且E=EE= EE=E,则称G′G'G′为GGG的生成子图(spanning-);
(4)若V=VV= VV=V且E=EE= EE=E,或V=VV= VV=V且E=∅E= \varnothingE=∅,称G′G'G′为GGG的平凡子图(trivial-);即:
图G 本身和G的零图是G的平凡子图。
商图(quotient graph)
设G=(V,E)G=(V, E)G=(V,E)是一(有向的或无向的)图。R⊆V×VR\subseteq V\times VR⊆V×V是一结点集V上的等价关系。
那么, 定义图G关于等价关系R的商图为简单图
GR=(VR,ER)G^R=(V^R,E^R) \quadGR=(VR,ER)其中:
VR=V/R={[v]R∣v∈R}V^R=V/R=\{[v]_R|v\in R\}VR=V/R={[v]R∣v∈R}是V关于等价关系R的商集;
ER={[u]R,[v]R∣[u]R∈VR∧[v]R∈VR∧(∃u′∈[u]R)(∃v′∈[v]R)((u′,v′)∈E)}E^R=\{[u]_R,[v]_R|[u]_R\in V^R\land [v]_R\in V^R \land (\exists u'\in [u]_R) (\exists v'\in [v]_R) ((u',v')\in E)\}ER={[u]R,[v]R∣[u]R∈VR∧[v]R∈VR∧(∃u′∈[u]R)(∃v′∈[v]R)((u′,v′)∈E)}
补图(complement graph)
设G=(V,E)G=(V, E)G=(V,E)是一(有向的或无向的)图。G′=(V′,E′)G'=(V', E')G′=(V′,E′)是与图G相应的完全图。 定义图G的补图G‾=(V,E‾)\overline{G}= (V, \overline{E})G=(V,E),其中:
E‾=E′\overline{E}=E'E=E′\E
结点的度
结点的出度(out-degree)
有向图中以结点v为起点的有向边的条数称为结点v的出度。记为deg←(v)\overleftarrow{deg}(v)deg(v)
结点的进度(入度(in-degree))
有向图中以结点v为终点的有向边的条数称为结点v的进度。记为deg→(v)\overrightarrow{deg}(v)deg(v)
结点的度(degree)
图中与结点v关联的边的条数称为结点v的度。记为deg(v)deg(v)deg(v)。
奇结点(odd vertex)
度数为奇数的结点称为奇结点。
偶结点(even vertex)
度数为偶数的结点称为偶结点。
图G的最小度(minimal degree)
图G中各结点度数的最小者。记为δ(G)\delta (G)δ(G)。
图G的最大度: (maximum degree)
图G中各结点度数的最大者。记为Δ(G)\Delta(G)Δ(G)
正则图(regular graph)
若图G中各结点的度数都相等,则称图G 是正则图。 显然,这时δ(G)=Δ(G)\delta(G)=\Delta(G)δ(G)=Δ(G)。
k-正则的(k- regular)
若图G中各结点的度数都相等,且为k ,则称图G 是 k-正则的,或k度正则的。 显然,这时δ(G)=Δ(G)=k\delta(G)=\Delta(G)= kδ(G)=Δ(G)=k。
悬挂点(hang vertex)
度数为1的结点称为悬挂点。
悬挂边(hang edge)
与悬挂点关联的边称为悬挂边。
定理1
- 无向图G中,所有结点的度之和等于边数的二倍;
- 有向图G中,所有结点的进度之和等于出度之和等于边数;
定理2.任何图中所有奇结点的度数之和是偶数。
推论1.(握手引理) 在一次集会上和奇数个人握过手的人的
数目是偶数。
图的同构(isomorphism of graphs)
同构的定义
(1)称G=(V,E)G=(V,E)G=(V,E)和G’=(V’,E’)G’=(V’,E’)G’=(V’,E’)二图同构,记为G≅G′ ⟺ G\cong G'\iffG≅G′⟺
存在两个双射函数φ:V→V′,ψ:E→E′\varphi: V \rightarrow V',\psi: E \rightarrow E'φ:V→V′,ψ:E→E′,
使得ψ(u,v)=(u′,v′) ⟹ φ(u)=u′∧φ(v)=v′\psi (u,v)=(u',v')\implies \varphi(u)=u'\land \varphi(v)=v'ψ(u,v)=(u′,v′)⟹φ(u)=u′∧φ(v)=v′。
(2)称G=(V,E,γ)G=(V,E,\gamma)G=(V,E,γ)和G’=(V’,E’,γ′)G’=(V’,E’,\gamma')G’=(V’,E’,γ′)二图同构,记为G≅G′ ⟺ G\cong G'\iffG≅G′⟺
存在两个双射函数φ:V→V′,ψ:E→E′\varphi: V \rightarrow V',\psi: E \rightarrow E'φ:V→V′,ψ:E→E′,使得
ψ(e)=e′∧γ(e)={u,v}∧γ′(e′)={u′,v′} ⟹ φ(u)=u′∧φ(v)=v′\psi (e)=e'\land \gamma(e)=\{u,v\}\land \gamma'(e')=\{u',v'\}\implies \varphi(u)=u'\land \varphi(v)=v'ψ(e)=e′∧γ(e)={u,v}∧γ′(e′)={u′,v′}⟹φ(u)=u′∧φ(v)=v′
ψ(e)=e′∧γ(e)=(u,v)∧γ′(e′)=(u′,v′) ⟹ φ(u)=u′∧φ(v)=v′\psi (e)=e'\land \gamma(e)=(u,v)\land \gamma'(e')=(u',v')\implies \varphi(u)=u'\land \varphi(v)=v'ψ(e)=e′∧γ(e)=(u,v)∧γ′(e′)=(u′,v′)⟹φ(u)=u′∧φ(v)=v′
图的同构远比代数系统的同构复杂。这是因为图的同构在同态公式中牵扯着两个(甚至三个,考虑定义三)双射函数的交叉关系,而代数系统的同构在同态公式中只有一个双射函数。因此图的同构问题不象代数系统的同构问题那样有许多进展、有几个定理好用,迄今为止,没有任何进展,没有任何定理可用,仅仅只能用定义。
性质
若两个图同构,则它们必须满足:
(1)结点个数相等;
(2)边数相等;
(3)对应结点的进度、出度、度数均相等;
(4)度数相同的结点个数相等;
(5)平行边对应,重数相等;
(6)自环对应;悬挂点对应;孤立点对应;
(7)结点间的相邻关系对应;边间的相邻关系对应;结点与边的关联关系对应;
(8)圈对应;路对应;
(9)对应圈的长度相等;对应路的长度相等;
…