Skip to content

离散数学II

图的概述

G=(V,E)是由非空顶点集V和边集E构成。每条边有一个或两个顶点与它相连,称为边的端点。

图的分类:

mermaid
graph LR

图-->有向图
图-->无向图
  无向图-->简单图
  无向图-->多重图
  无向图-->伪图

无向图, Undirected Graph

类型多重边
简单图(Simple graph)
多重图(Multigraph)
伪图(Pseudograph)
分别为: 简单图 多重图 伪图
简单图、多重图和伪图

有向图, Directed Graph

有向图根据是否有多重边也可以分为 简单有向图(simple directed graph)有向多重图(dir.Multigraph)

图的术语, Graph Terminology

汉语英语定义备注
顶点Vertex图中的基本单位,用来表示点或节点。通常用字母(如u, v, w)表示。
Edge图中的基本单位,用来连接两个顶点。可以是无向边或有向边。
邻接的/相邻的adjacent/neighbor若 {u, v} 是无向图 G 的边,则两个顶点 u 和 v 在 G 中称为邻接(或相邻)。对有向图,同样可以定义邻接关系。
关联incident边 e 关联顶点 u 和 v,也可以说边 e 连接 u 和 v。e = {u, v} 或 (u, v)。
端点endpoint顶点 u 和 v 称为边 {u, v} 的端点。边的起点和终点。
顶点 v 的邻居The neighborhood of vv 的所有邻居,用 N(v) 表示。邻居是与顶点 v 直接相连的顶点。
顶点的度degree of a vertex在无向图里,顶点的度是与该顶点关联的边的数目。特殊情形是,顶点上的环为顶点的度做出双倍贡献。与顶点相关联的边的数目,记作 deg(v)
入度、出度in-degree, out-degree入度 deg(v) 是以 v 作为终点的边数;出度 deg+(v) 是以 v 作为起点的边数。适用于有向图。
基本无向图underlying undirected graph忽略边的方向后得到的无向图称为基本无向图。可以从有向图转换而来。

关于度

对于度为0的顶点,我们称它为孤立的(Isolated);度为1的顶点称为悬挂的(pendant)

使用 Δ(G)=max{deg(v)|vV} 表示一个图的最大度数,δ(G)=min{deg(v)|vV} 表示最小度数。

握手定理

握手定理

即使出现多重边和环仍成立

只需要证明每条边都为顶点的度之和贡献为2.

根据握手定理,可以证明:无向图有偶数个度为奇数的顶点。

握手定理的推论

对于有向图,由于入度和出度的区别,有这个性质

有向图的握手定理

环对度的影响

顶点上的环为顶点的度做出双倍贡献 即同时拥有 1出度 ,1入度

特殊的简单图

记号性质英语
完全图Kn每对不同顶点之间都恰有一条边的简单图Complete Graph
圈图Cnn个顶点n1,n2...nk组成的n1条边{n1,n2},{n2,n3},...,{nk1,nk}围成的一个圈Circles
轮图Wnn3的全图添加一个新顶点,并且吧新顶点与原来全部顶点连接Wheels
n立方体图Qn用顶点表示2n个长度为n的位串的图。两个顶点相邻,当且仅当它们所表示的位串恰怡有一位不同。n-Cube
正则图如果一个简单图的每个顶点都有相同的度,那么这个图就称为正则图。regular graph

完全图:

圈图

轮图

n立方体图

正则图 待补充图片

二分图,Bipartite Graph

若把简单图G的顶点集分成两个不相交的非空集合V1V2,使得图里的每一条边都连接着V1里的一个顶点与V2里的一个顶点,则G称为二分图。

二分图的判定(涂色)

一个简单图是二分图当且仅当能够对图中的每个顶点赋予两种不同的颜色,并使得没有两个相邻的顶点被赋予相同的颜色。

简单二分图概念速记

不能连接同一集合内的顶点

简单二分图

完全二分图:顶点集分成分别含有mn个顶点的两个子集的图,两个顶点之间有边当且仅当一个顶点属于第一个子集而另一个顶点属于第二个子集(也就是集合内顶点之间没有边)。

完全二分图概念速记

每个顶点必须连接到另一集合的所有顶点

完全二分图

二部划分可以被应用到匹配(matching)问题上。简单图 G=(V,E) 中的匹配 M (匹配)是图的边集 E 的子集,使得没有两条边与同一顶点相关联。最大匹配(maximum matching)是边数最大的匹配。从V1到V2的完全匹配(complete matching),如果V1中的每个顶点都是匹配中的一条边的端点,或者等效地,如果|M|=|V1|

霍尔婚姻定理:提供了一组存在完全匹配的充分必要条件:

霍尔婚姻定理

匹配

A matching M (匹配) in a simple graph G=(V,E) is a subset of the set E of edges of the graph such that no two edges are incident with the same vertex.

  • 最大匹配(Maximum Matching):A maximum matching (最大匹配) is a matching with the largest number of edges.
  • 完全匹配(Complete Matching):A complete matching (完全匹配) from V1 to V2, if every vertex in V1 is the endpoint of an edge in the matching, or equivalently, if |M|=|V1|.

完全匹配的充要条件(霍尔婚姻定理,P555)

霍尔婚姻定理

新图的产生

概括

  • 子图(subgraph):点集和边集是原图子集的图。特别的,还有真子图(proper subgraph)

  • 生成子图(spanning subgraph)顶点与原图完全相同,边集是原图子集的子图。

  • 导出子图(subgraph induced by a subset):分为点导出子图和边导出子图

    V1V,以V1为顶点集,以端点均在V1中的E中的边的全体为边集E1,构成的子图,称为由V1导出的G的子图(点导出子图),记为G(V1)。设E1E,以E1为边集,以E1中边的端点全体为顶点集构成的子图,称为由E1导出的G的子图(边导出子图),记为G(E1)

并图(The Union of graph G1and G2):两个简单图 G1=(V1,E1)G2=(V2,E2) 的并集是顶点集 V=V1V2和边集 E=E1E2 的简单图。

补图(Complementary graph G¯ of a simple graph G):设 G 是具有 n 个顶点的简单图,从这 n 个顶点构成的完全图 Kn中删去 G 的所有边,但保留顶点集 V(G) 所得到的图称为 G 的补图, 记为 G¯

通过操作边和顶点:

  • 从图中删除或增加边 删除或增加边

  • 边的收缩(Edge contraction) 边的收缩

  • 从图中删除顶点 从图中删除顶点

图的表示和同构, Graph Isomorphism

图的表示

图的表示有几种常用的方法:

  • 邻接表,Adjacency list
  • 邻接矩阵,Adjacency matrice:一种类型是基于顶点的邻接关系;另一种类型是基于顶点与边的关联关系。

[!notice] 无向图的邻接矩阵总是对称的(包括伪图和多重图) 图的邻接矩阵依赖于所选择的顶点的顺序 对无向图来说,邻接矩阵每一行各个位置上数字之和代表与顶点 i 关联的边数, 等于顶点 i 的度减去在顶点 i 上的环数(本质上是去重);对于有向图而言,邻接矩阵每一行各个位置上数字之和代表该顶点的出度,每一列代表该顶点的入度。

  • 关联矩阵,Incidence matrice

[!info ] 在无向图中的关联矩阵中,每列中有两个 1 的表明这条边与这两个顶点相连接,每列有一个 1 的表明存在环

对于无向图来讲,邻接矩阵上每一行各个位置上数字的和表示与该顶点关联的边数,也就是他的度减去环的数量(去掉重复的贡献);对于有向图来讲,每行的和表示该顶点的出度,每列的和表示入度。

图的同构

同构的定义

[!info ] 省流 当两个简单图同构时,两个图的顶点之间具有保持邻接关系的一一对应。

在两个带 n 个顶点的简单图顶点集之间有 n! 种可能的一一对应,通过检验每一种对应来看它是否保持邻接关系和不邻接关系是不可行的。 然而,可以通过说明两个简单图不具有同构的图所必须具有的性质来说明 它们不同构,把这样的性质称为对简单图的同构来说的 不变量(invariants)。

重要的不变量包括:

  • 相同的顶点数
  • 相同的边数
  • 相同的顶点度
  • 相同的二分能力
  • 当且仅当都是完成图
  • 当且仅当都是轮图
  • 连通分支的数目及大小
  • 当且仅当都具有相同长度的简单回路

NOTE

图同构算法己知的最好的判定两个图是否同构的算法具有指数的最坏情形时间复杂度 (对图的顶点数来说)。不过,解决这个问题的线性平均情形时间复杂度的算法已经找到,而且有希望,即使仍有怀疑,找到判定两个图是否同构的多项式最坏情形时间复杂度的算法。

连通性问题, Connectivity

术语区分(此处术语可能并不通用,括号是另一套术语):

定义备注
通路(路径)path(walk)G 的一个非空点、边交替序列称为一条从 v0​ 到 vk 的通路点和边交替出现
trail若一条通路中的边不重复,则称该通路为迹。边唯一
回路(闭合路径)circuit(closed walk)如果 v0=vk​,且通路长度大于 0,则称为一条回路也叫闭迹,通路起点和终点相同且长度不为0
路线/简单通路trail若通路或回路不重复地包含相同的边,则称为简单通路或简单回路也可以称为“迹”,是特殊的通路
端点通路的起点和终点称为端点。起点为 v0​,终点为 vk端点是路径中第一个和最后一个顶点
内点通路中除了端点外的顶点称为内点,即v1,v2,,vk1路径的中间顶点
路长通路所包含边的数量称为通路的长度,即通路的边数 k-
路径的逆转记 W 是一条从 v0vk​ 的路径,逆转后的路径一定是从 vk​ 到 v0​ 的路径,记作W1逆转后的路径依然是原路径的有效表示
通路 W 的部分相连项构成的子序列也必构成一条路径,这条路径称为 W 的节通路的连续子序列
新的路径W 可以与另一条路径 W′ 衔接在一起便得一条新路径,记为 WW′新路径必须符合顶点和边的连接规则
Circlev0,e1,v1,e2,v2,,ek,v0 是一条简单回路/闭迹,如果 v0,v1,,vk1 互不相同,则称该闭迹为圈或 k 圈当 k 为偶数时称为偶圈;k 为奇数时称为奇圈

相关定义原文

名词重整

  • 通路(path):==顶点==和==边==交替
  • 回路(circuit):==起点==和==终点==相同
  • 简单通路/迹(trail):==边==不重复
  • 初级通路/路:==点==不重复

圈的性质定理

  1. 若图G中每个顶点度数至少为2,则G中必含有圈。
  2. GG证明

距离:设u,vV(G),若uv连通,则称最短(u,v)路的长为u,v距离,记为d(u,v)

TIP

uv不连通时,认为uv的距离是啊

连通无向图的每一对不同顶点之间都存在简单通路

分割与点、边连通度

  • 割点(cut vertices):如果删除一个顶点和它所关联的边,就产生比原图更多的连通分支的子图时,这样的顶点称为割点(cut vertices)或关节点。从连通图里删除割点,就产生不连通的子图
  • 割边或桥(cut edge or bridge):如果删除一条边,就产生比原图更多的连通分支的子图时,这样的边称为割边或桥(cut edge or bridge)。

没有割点的图(例如完全图),被称为不可分割图(nonseparable graph)

V是顶点集V的子集,如果GV是不连通的,则称V点割集或分割集(vertex cut, or separating set)。除了完全图之外,每一个连通图都有一个点割集

  • 一个图的点割集中最小的顶点数,称为点连通度(vertex connectivity),记为K(G),满足0K(G)n1。K(G)是使G变成不连通的图或只含有一个顶点的图,所需删除的最小的顶点数。当K(G)>=k,则称图G是k连通的(k-connected)。

    对于不连通图和K1K(G)=0;对于含割点的连通图或K2K(G)=1

  • E是图G的边集E的子集,如果GE是不连通的,则称E边割集(edge cut)。一个图的边割集中最小的边数,称为边连通度(edge connectivity),记为λ(G).

    对于不连通图和K1λ(G)=0;对于含割点的连通图或K2λ(G)=1

我们可以主观的看到,点、边连通度越大整体的连通性越强

点连通度和边连通度的不等式):

点连通度边连通度的不等式

1. 割点 (Cut Vertex)
  • 定义:在一个连通图中,删除某个顶点及其相连的边,导致图的连通分支数增加(即图变得不连通)时,这个顶点被称为割点(cut vertex)或关节点

  • 性质:如果从一个连通图中删除一个割点,它会使图变得不连通或至少有更多的连通分支。

  • 例子:在一个树结构中,任何一个非叶子节点都是割点。


2. 割边或桥 (Cut Edge or Bridge)
  • 定义:如果删除图中的一条边,导致图的连通分支数增加(即图变得不连通),则称这条边为割边(cut edge)或(bridge)。

  • 性质:如果一条边被删除后图的连通性变差,说明这条边是图的关键连通桥梁。

  • 例子:在树中,每一条边都是割边。


3. 不可分割图 (Nonseparable Graph)
  • 定义:如果一个图中没有任何割,即删除任何一个顶点或边都不会使图变得不连通,那么这个图被称为不可分割图(nonseparable graph)。

  • 例子:完全图是不可分割的,因为删除任何顶点或边都不会使其变得不连通。


4. 点割集 (Vertex Cut)
  • 定义:设 V 是图 G 的顶点集 V 的子集。如果从图中删除 V 中的所有顶点后,图变得不连通(即 GV'不连通),那么 V 就是图 G 的点割集(vertex cut)或分割集(separating set)。

  • 性质:点割集代表了图中最少的顶点集合,删除这些顶点后图会失去连通性。

  • 例子:在一个链式结构中,任何一个中间节点都是点割集。


5. 点连通度 (Vertex Connectivity)
  • 定义:图 G 的点连通度 K(G) 是最小的顶点数,使得删除这些顶点后,图变得不连通或只剩下一个顶点。点连通度的值满足 0K(G)n1(其中 nnn 是顶点的数量)。

  • 性质:点连通度越大,说明图的连通性越强,删除顶点越不容易使图不连通。

  • 例子

    • 对于一个不连通图或 K1K_1K1​(单个顶点的图),点连通度 K(G)=0K(G) = 0K(G)=0。
    • 对于包含割点的连通图或 K2K_2K2​(两个顶点的完全图),点连通度 K(G)=1K(G) = 1K(G)=1。
  • k连通图:如果 K(G)≥kK(G) \geq kK(G)≥k,则称图 GGG 是k连通(k-connected)。


6. 边割集 (Edge Cut)
  • 定义:设 E 是图 G 的边集 E 的子集。如果从图中删除 E 中的所有边后,图变得不连通(即 GE 不连通),那么 E 就是图 G 的边割集(edge cut)。

  • 性质:边割集代表了图中最少的边集合,删除这些边后图会失去连通性。

  • 例子:在树结构中,每一条边都是边割集。


7. 边连通度 (Edge Connectivity)
  • 定义:图 G的边连通度 λ(G) 是使得图变得不连通的最少边数。边连通度的值也满足 λ(G)0

  • 性质:边连通度越大,说明图中有更多的边,删除这些边才会使图不连通,连通性较强。

  • 例子

    • 对于不连通图或 K1K_1K1​(单个顶点的图),边连通度 λ(G)=0\lambda(G) = 0λ(G)=0。
    • 对于含割点的连通图或 K2K_2K2​(两个顶点的完全图),边连通度 λ(G)=1\lambda(G) = 1λ(G)=1。

8. 点连通度和边连通度的不等式
  • 不等式:对于一个图 G,通常有以下不等式:
λ(G)K(G)

这意味着图的边连通度总是小于或等于图的点连通度,因为删除边会影响图的连通性,而删除顶点的影响通常更大。

  • 图示:你提到的图示表示点连通度和边连通度的关系,在图中可以看到边连通度总是小于等于点连通度。

连通性

  • 图 (Graph): 一个图由顶点集合和连接顶点的边集合组成。
  • 子图 (Subgraph): 是原图的一部分,由原图的部分顶点和部分边组成。
  • 无向图 (Undirected Graph): 边没有方向,边连接的两个顶点是对称的。
    • 联通 (Connected): 一个图是联通的,如果从任意一个顶点出发,都能到达其他顶点。
    • 联通图 (Connected Graph): 是一个无向图,其中任意两个顶点之间都有路径连接。
    • 联通分量 (Connected Components): 是无向图中最大联通子图。
  • 有向图 (Directed Graph): 边有方向,从一个顶点指向另一个顶点。
    • 强联通 (Strongly Connected): 一个有向图是强联通的,如果从任意顶点出发,都能通过有向路径回到该顶点。
    • 强联通图 (Strongly Connected Graph): 是一个有向图,其中任意两个顶点之间都存在双向的有向路径。
    • 强联通分量 (Strongly Connected Components): 有向图中的强联通子图,其中任意两个顶点都有路径相连。

连通性

任意两个点之间都有通路

基本定理:在连通无向图的每一对不同顶点之间都存在 简单通路(使用反证法证明)。

基本定理的证明

连通分支

极大连通子图

图G中顶点之间的连通关系是一个等价关系。图G的连通分支(connected componet)是G的连通子图,且不是G的另一个连通子图的真子图。也就是说,图G的连通分量是G的极大连通子图。通常用ω(G)连通分支的个数,也就是说:

连通分支个数的性质Gω(G)=1

NOTE

显然,不连通的图具有两个或两个以上不相交的联通子图。 根据该关系可将顶点集合V划分成一些等价类 V1V2Vn ,每个 Vi 导出的子图 G(Vi) 称就是 G 的一个连通分支。

顶点、边与连通分支个数的关系:

设G是具有n个顶点的简单图,若G有ϵ条边,ω个连通分支,则

nωϵ12(nω)(nω+1)

NOTE

当G的一个连通分支是nω1个点的完全图,其余ω1个连通分支均是弧立点时边最多。 当ω=1时,ωn1边最少。即n个顶点的连通图至少有n1条边,这种连通图被称为最小连通图

在一个图中两个顶点之间通路的数目,可以用这个图的 邻接矩阵 来确定。

通路数的计算

有向图中的连通

由于有向图带有方向,所以会分为强弱连通性:

  • 强联通性(strongly connected):有向图是强连通的,如果有ab和从ba的路径。
  • 弱连通性(weakly connected) :如果简单无向图的每两个顶点之间都有一条路径,则有向图是弱连通的。
  • 存在有向(u,v)路,则称v是从u可达的。若u,v互相可达,则称u,v双向连通
  • 若对D中任何两顶点,至少有一顶点可从另一顶点可达,则称D单向连通图
  • D中任何两顶点都是双向连通的,则称D双向连通图或强连通图
  • 强连通分支(strongly connected component):The maximal strongly connected subgraphs, are called the strongly connected components or strong components of G.
GG

欧拉通路和哈密顿通路, Euler and Hamilton Paths

欧拉的图

欧拉图

欧拉通路(Euler Path):包含着G的==每一条边==的简单==通路== 边不重复,顶点可重复欧拉回路(Euler Circuit):是包含着G的==每一条边==的简单==回路== 欧拉图(Euler Graph):包含==欧拉回路==的图

欧拉回路和欧拉通路的充要条件

  • 连通多重图是欧拉图当且仅当它的 每个顶点的度都为偶数
  • 连通多重图具有欧拉通路而无欧拉回路,当且仅当它恰有两个奇数度顶点

[! ] 欧拉回路充要条件的证明: 首先,我们来证明充分性,即存在欧拉回路则图中的所有顶点的度数必然为偶数。在图中任取一点,以该点作为起点,沿着欧拉回路走,当前顶点的出度为1,然后经过其它的顶点,注意到如果欧拉路径经过一个顶点(包括起点),它必然离开这个点,这样出入度之和为偶数,直到所有的边逐一被走过,回路的终点在起点处结束,使得起点的入度加1,这样经过起点的度数和变成偶数,欧拉回路结束(注意到我们未加说明的假设了边的个数是有穷的,因此这个过程必然结束)。

其次,我们来证明必要性,即如果连通图中所有顶点的度数为偶数,则必然存在欧拉回路。我们通过构造性的存在性证明来说明这一点。首先,我们在连通图中找寻一条回路(回路的选取是任意的并且总是能找到的,由上述充分性的证明可以有效的说明这一点),如果这条回路就是欧拉回路,那么结论已然成立了,否则,我们删除掉该回路中的所有边,出现孤立的顶点就忽略它,那么子图(不一定是连通的,并且仍然满足所有顶点的度数都是偶数的性质)与删除掉的回路一定有公共顶点(图的连通性保证了这一点),以该点作为起点继续找寻回路,然后删除,续行此法,直到所有的边都被删除为止(同上述充分性的证明中一样,边的个数的有穷性保证了这个过程必然结束),所有这些删除的回路连接起来就构成了一条欧拉回路。

[! ] 欧拉通路充要条件的证明: 先来证明充分性,即存在欧拉通路则图中有且只有两个顶点的度数为奇数,其他顶点的度数皆为偶数,注意到由于起点和终点是不同的,因此欧拉通路的起点和终点必然是两个奇数度的顶点,此外,不可能再有其他的奇数度的顶点了,因为我们沿着欧拉通路的起点走开来,只要经过一个顶点必然离开该顶点,一条入度边搭配一条出度边,共同为该顶点贡献偶数度,直到到达终点为止(当然,也可能再离开,只要终点还有边没有被走过)。

接下来,我们来证明必要性,即连通图中有且只有两个奇数度顶点,则必然存在欧拉通路,怎么来证明这一点呢?一种非常巧妙的方式是把欧拉通路做成欧拉回路,换句话说,我们连接两个奇数度顶点,这样连通图中所有顶点的度数均为偶数,由刚刚证明的定理1可知,该连通图存在欧拉回路,注意到只需把我们自己增加的那条辅助边删除,便证明了欧拉通路的存在性,我们再一次借助构造性的存在性证明来证明了这一点。

有向图中的条件:

  • 没有孤立顶点的有向多重图含有欧拉回路的充要条件:弱连通且每个顶点的出度和入度相等
  • 没有孤立顶点的有向多重图含有欧拉通路但不含欧拉回路的充要条件:弱连通且除去两个顶点外每个顶点的出度和入度相等,其中一个顶点的出度比入度大1,另一个顶点的入度比出度大1

哈密顿的图

哈密顿图

哈密顿通路(Hamilton Path):访问图G中每个顶点次数有且仅有一次的通路。 哈密顿回路:仅访问每个顶点一次(始点除外),始点同样也是终点。

**哈密顿图(必要条件)):**

P(GS)|S| 图:G(V, E) S:V的非空子集 P(GS):图G-S的连通分支数

**狄拉克定理(充分条件)**:

如果Gn个顶点的连通简单图,其中n3,且每个顶点的度都至少为n/2,则G有哈密顿回路。

狄拉克定理的引理(哈密顿图的充分条件):设G是简单图,顶点uv一对不相邻的顶点,且满足deg(u)+deg(v)n,则G是哈密顿图当且仅当G+uv是哈密顿图。

**奥尔定理(哈密顿图的充分条件)**:

如果G是含n个顶点的连通简单图,其中n3,并且对于G中每一对不相邻的顶点uv来说,都有deg(u)+deg(v)n,则G有哈密顿回路。

闭包和哈密顿图:简单图G是Hamilton图当且仅当C(G)是Hamilton图。

推论

  • C(G)是完全图,则G是Hamilton图。
  • G中任意不相邻顶点uv均满足d(u)d(v)v,则G是Hamilton图。

G是一个图,反复连接满足d(u)d(v)v的不相邻顶点u,v,直到没有这样的顶点对为止,这样得到的图称作图G的闭包,记为C(G)

哈密顿图的必要条件:设G是一个哈密顿图,则对于顶点集V的任一非空真子集S,均有ω(GS)|S|。这里GS表示从G中删去S中的所有顶点以及所关联的边。

有向图与哈密顿图:设D是有向图,D中包含所有顶点的有向圈称为Hamilton有向圈,含有Hamilton有向圈的有向图称为Hamilton有向图D中包含所有顶点的有向路,称为Hamilton有向路,含有Hamilton有向路的有向图称为半Hamilton有向图Hamilton有向图必定是强连通的

若有向图D中每两个顶点之间恰有一条弧,则称D为竞赛图,存在以下性质:

DHamiltonHamilton

最短通路问题, Shortest Path Problem

加权图(Weighted Graph):对图的每一条边赋予一个权值。

Dijkstra

迪科斯特拉算法

迪克斯特拉算法求出连通简单无向带权图里两个顶点之间最短通路的长度。

最近邻居法

旅行商问题:设有n个城镇,其中每两个城镇之间的直接距离是已知的,一个旅行商自一城镇出发巡回售货,问这个旅行商应该如何选择路线,使每个城镇恰好经过一次,并且总的行程最短。显然,这个问题也就是要在一个带权完全图中,找一个权最小的Hamilton圈

最近邻居法

可平面图, Planar Graphs

平面图

如果一个图形没有任何边交叉,那么它就是**平面(planar)**的。

平面图

如果一个图能画在平面上,使得它的边仅在端点相交,则称这个图为平面图,或说它是可平面嵌入的。 平面图G的这样一种画法,称为G的一个平面嵌入,平面图G的平面嵌入称为平图

图的平面表示将平面划分为面(region),包括无界的面(unbounded region);其中恰有一个无界的面(an unbounded region),称为外部面

一条连续的、自身不相交的封闭曲线称为Jordon曲线J的外部extJ,外点,extJJ之并称为extJ的闭包,记为ExtJ;另一部分(不含曲线J)称为J的内部,记为intJintJ的点称为J的内点,intJJ之并称为intJ的闭包,记为IntJ

引理:设J是一条Jordon曲线,任何连接J的内点与外点的曲线必与J相交。

欧拉公式:

r:面数 v:顶点数 e:边数

r+v=e+2

欧拉公式

推论:

  • 给定平面连通图G,则G的所有平面嵌入有相同的面数

    The concept of the degree of a region(面的度):the number of edges on the boundary of this region.

  • 如果G是一个连通平面简单图,有e条边和v个顶点,其中v3,那么e3v6欧拉定理推论证明

  • 如果G是一个连通平面简单图,有e条边和v个顶点,其中v3,且没有长度为3的圈,那么e2v4证明

  • 在连通平面简单图G中,至少存在一个顶点v0,使d(v0)5欧拉定理推论证明

库拉图斯基定理(KURATOWSKI'S Theorem)

若一个图是平面图,则通过删除一条边{u,v}并且添加一个新顶点w和两条边{u,w}{v,w}获得的任何图也是平面图。这样的操作成为初等细分(elementary subdivision)。若可以从相同的图通过一系列处等细分来获得图G1=(V1,E1)G2=(V2,E2),则称他们是同胚(homeomorphic)的。

定理(判定非平面图的充要条件):一个图是非平面图当且仅当它包含一个同胚于K3,3K5的子图。

显然,含有K3,3K5同胚子图的图是非平面的。然而,反向的证明是复杂的,这里就不给出了。

图着色, Graph Coloring

G的着色为G的顶点分配颜色,以便相邻的顶点被赋予不同的颜色。记χ为给图上色所需的最少颜色数。

完全图的最少颜色数为n,即χ(Kn)=n。完全二分图只需要两种颜色(分别涂两个集合)即可。

一些特殊情况:

  • χ(G)=1当且仅当G为完全断开的(totally disconnected)

  • χ(G)=3当且仅当G是一个寄圈(odd cycle)

  • χ(G)Δ(G)+1

    往证 G1Δ(G)可着色的。对G的顶点数施行归纳法

五色定理:任何无自环的平面图G是5可着色的。

四色定理:任何平面图是4可着色的。

树的概述和应用

没有简单回路的连通无向图称为树。 每个连通分支均为树的图称为森林。

定理:树中至少有两个结点的度数为1。

证明:设树T=<V,E>,|V|=v,因为T是一个连通图,所以对于任意viTdeg(vi)1deg(vi)=2(|V|1)=2v2。若每个结点的度数都大于等于2,那么deg(vi)2v与前文矛盾;若只有一个结点度数为1,则deg(vi)2(v1)+1=2v1也矛盾。所以至少有两个结点的度数为1.

树的等价定义:

  • 无回路的连通图
  • 没有回路且e=v1
  • 连通且e=v1
  • 没有回路,但增加一条新边,得到一个且仅有一个回路
  • 连通,但删去任一边后便不再连通
  • 每一对结点之间有一条且仅有一条路

无向图是树的充要条件:一个无向图是树当且仅当在他的每对顶点之间存在唯一简单通路

无向图是树的充要条件

有根树(Rooted tree) 是指定一个顶点作为根并且每条边的方向都离开根的树。

A rooted tree is called an m-ary tree(m叉树) if every internal vertex has no more than m children. The tree is called a full m-ary tree (满m叉树) if every internal vertex has exactly m children. An m-ary tree with m = 2 is called a binary tree(二叉树).

顶点与边的关系:带有n个顶点的含有n1条边。

使n=1n=1n=1n=kn=kk1n=k+1TvTvwvTvwvkTTk1TT{v,w}n=k+1k

内点和顶点的关系:带有i个内点的满m叉树有n=mi+1个顶点。

mmmiP.S.mn=mi+1

对于一个满m叉树,当他的顶点n,内点i和叶子节点l有一个确定的,就可以推出另两个,公式整理为:

ni=n1m,l=[(m1)n+1]mi,n=mi+1,l=(m1)i+1l,n=ml1m1,i=l1m1

高度为h的m叉树至多有mh个树叶。

树的遍历, Tree Traversal

前序遍历、中序遍历和后序遍历

生成树, Spanning Trees

若图G的生成子图T是树,则称TG的生成树。

基本定理:G是连通图当且仅当G有生成树。

证明:首先,假设G有生成树,则G是连通的。假设G是连通的 => 产生一个生成树。

证明

最小生成树, Minimum Spanning Trees

Kruskal算法和Prim算法。

最小生成树不一定唯一

计数

计数基础(就是常识可不看)


  1. 乘积法则(Multiplication Rule)

如果一个事件可以分为多个步骤完成,并且每个步骤都有固定的选择方式,那么所有选择的总数是各步骤选择数目的乘积。

定义: 若完成一个事件需要 k 个步骤,第 i 个步骤有ni 种方法(且每一步是独立的),则完成整个事件的方法数为:

n1×n2××nk
  1. 求和法则(Addition Rule)

如果一个事件可以通过几种互斥的方式发生,那么这些方式的总数是各方式数目的和。

定义: 若一个事件可以通过 k 个互斥方式发生,第 i 个方式有ni 种方法,则所有方式的总数为:

n1+n2++nk
  1. 减法法则(容斥原理)

当两个事件不是互斥时,其并集的总数需要从各事件的总和中减去它们的交集部分,以避免重复计数。

定义: 若事件 AA 有 ∣A∣ 种方法,事件 BB 有 |B| 种方法,且两事件有交集 A∩B,则:

|AB|=|A|+|B||AB|
  1. 除法法则(Division Rule)

当一个事件的所有可能结果可以分为若干个等价的类别(每个类别包含相同数量的结果),总数等于所有可能结果数除以每个类别的大小。

定义: 如果某个事件的所有可能性可以划分成 k 个等价类别,每个类别包含 nk 个元素,那么总数是:

总数=所有可能结果数每个类别包含的元素数

鸽巢原理, The Pigeonhole Principle

鸽巢原理k是一个正整数,如果大于或等于k+1个对象被放入k个盒子,那么至少一个盒子包含两个或两个以上的对象。

推论:一个从有k+1甚至更多的元素的集合到k个元素集合的函数f不是一对一函数。

鸽巢原理指出当物体比盒子多时一定至少有2个物体在同一个盒子里。但是当物体数超过盒子数的倍数时可以得出更多的结果。例如,在任意21个十进制数字中一定有3个是相同的。

广义鸽巢原理:如果N个物体放入k个盒子,那么至少有一个盒子包含了至少Nk个物体。

Nk1k(Nk1)<k((Nk+1)1)=NNk1Nk

定理三: 每个由n2+1个不同实数构成的序列,都包含一个长为n+1的严格递增子序列(或严格递减子序列)

拉姆齐理论(Ramsey thepry)

背背背

  1. 证明对每个整数n,存在一个数是 n 的倍数且在它的十进制表示中只出现 01

DEMO

排列与组合, Permutations and Combinations

集合的排列与组合是不允许重复选取的基本计数模型 设S是n元集

  1. 从S中有序选取的r个元素称为S的一个r排列,S的不同r排列总数记作P(n,r).R=n的排列称作S的全排列,或简称为S的排列.
  2. 从S中无序选取的r个元素称为S的一个r组合,S的所有r组合的总数记作C(n,r)

二项式系数和恒等式,(Binomial Coefficients and Identities)

具有n个元素的r组集合记作(nk),也就是二项式系数,一切行为等同于高中时二项式系数Cnk

在涉及二项式定理的证明中,可以通过给x,y赋值的方式直接证明或构造多个多项式相加减以证明。

二项式定理推论:

n0k=1n(nk)=2n2n=(1+1)n=k=0n(nk)1k1nk=k=1n(nk)=2nn>0,k=1n(1)k(nk)=00n=((1)+1)n(n0)+(n2)+(n4)+=(n1)+(n3)+(n5)+n0,k=1n2k(nk)=3n3n=(1+2)n

帕斯卡恒等式

n,k>0nk(n+1k)=(nk1)+(nk)Tn+1k(n+1k)aTS=TaSnTk1)aSk12aSk(n+1k)=(nk1)+(nk)

范德蒙德恒等式

m,n,r0rmn(m+nr)=k=0r(mrk)(nk)m=n(2nn)k=0n(nk)2Tm+nr(m+nr)mRnSSk0kr(nk)Srk(mrk)k=k0(nk0)(mrk0)rn,(n+1r+1)=j=rn(jr)

广义排列与组合(Generalized Peruitations and Combinations)

隔板法的一般化:

nrC(n+r1,r)=C(n+r1,n1)nn+r1n1rr

去重的一般化:

n1n2knknn!n1!n2!nk!

高级计数

数论补充

整除

整除具有传递性、加法运算、整系数线性组合。

递推关系, Recurrence Relations

线性递推, Linear Recurrence Relations

分治算法, Divide-and-Conquer Algorihtms and Recurrence Relations

生成函数,Generating Function

容斥原理, Inclusion-xclusion

容斥原理:

A1,A2,A3,,An|A1A2A3An|=1in|Ai|1ijn|AiAj|+1ijkn|AiAjAk|++(1)n+1|A1A2An|aA1A2Anrra|Ai|C(r,1)ra|AiAj|aC(r,2)mrmaC(r,m)aC(r,1)C(r,2)+C(r,3)+(1)r+1C(r,r)C(r,1)+C(r,3)+=C(r,0)+C(r,2)+C(r,0)C(r,1)+C(r,2)+(1)rC(r,r)=0C(r,0)=C(r,1)C(r,2)+C(r,3)+(1)r+1C(r,r)=1

另一种形式的容斥原理

AiPiPi1,Pi2,,PikN(Pi1Pi2Pik)|Ai1Ai2Aik|=N(Pi1Pi2Pik)NN(Pi1Pi2Pik)N(Pi1Pi2Pik)=N|Ai1Ai2Aik|使

评论区

欢迎留言、补充或勘误。

xiaoba.blog