离散数学之图论
- 格式:doc
- 大小:2.83 MB
- 文档页数:95
离散数学中的图论与组合数学离散数学是数学的一个分支,它主要研究离散的数值和结构。
而图论和组合数学则是离散数学中两个重要的领域。
本文将介绍离散数学中的图论与组合数学,并探讨它们在实际生活中的应用。
一、图论图论是研究图及其性质的数学分支。
图由节点(顶点)和边组成,用来表示对象之间的关系。
图论主要关注图的结构与性质,以及通过图来解决实际问题。
1. 图的基本概念与性质在图论中,节点用来表示对象或实体,而边则表示对象之间的关系。
图可以分为有向图和无向图,有向图中的边有一个方向,而无向图中的边没有方向。
此外,图还可以包含多个连通分量,即由若干节点和边组成的连通子图。
图的性质包括度数、连通性、路径与环等。
节点的度数是指与其相连接的边的数量,节点的度数越高,表示与其他节点的连接越紧密。
图的连通性指的是图中任意两个节点之间是否存在路径,如果存在路径,则称图为连通图。
路径是指一系列的边沿着节点相互连接而成的序列,而环则是指起点与终点相同的路径。
2. 图的应用场景图论在现实生活中有许多应用场景。
例如,在社交网络分析中,可以用图论来研究用户之间的关系。
通过分析社交网络中的节点和边,可以找到影响力较大的用户,从而实现精准的推荐和营销策略。
此外,图论还可以用来解决交通网络优化问题。
通过将道路和交通节点建模成图的节点和边,可以分析交通拥堵状况,优化路径规划和交通信号灯控制,提高交通效率。
二、组合数学组合数学是研究离散的数学分支,主要关注集合、排列、组合和图等组合结构的性质与应用。
组合数学在信息安全、密码学、编码理论等领域具有广泛的应用。
1. 排列与组合排列是指从一组对象中选择若干个对象按一定顺序排列成一列。
组合则是从一组对象中选择若干个对象组成一个集合,不考虑顺序。
排列和组合在实际中有许多应用,例如密码学中的密码破解和编码理论中的编码设计。
2. 图的着色问题图的着色问题是组合数学中的一个经典问题,其目标是给图的每个节点赋予一种颜色,使得相邻的节点拥有不同的颜色。
离散图论知识点总结一、基本概念图(Graph)是离散数学中的一个重要概念,它由顶点集合V和边集合E组成。
一般用G (V,E)来表示,其中V={v1,v2,…,vn}是有限非空集合,E是V中元素的无序对的集合。
图分为有向图和无向图。
无向图中的边是无序的,有向图中的边是有序的。
图中存在一些特殊的图,比如完全图、树、路径、回路等。
二、图的表示方法1. 邻接矩阵邻接矩阵是一种常见的图的表示方法,它使用一个二维数组来表示图的关系。
对于一个n 个顶点的图,邻接矩阵是一个n*n的矩阵A,其中A[i][j]表示顶点i到顶点j之间是否存在边。
对于无向图,A[i][j]=1表示顶点i与顶点j之间存在边,A[i][j]=0表示不存在。
对于有向图,A[i][j]=1表示i指向j的边存在,A[i][j]=0表示不存在。
2. 邻接表邻接表是另一种常见的图的表示方法。
它将图的信息储存在一个数组中,数组的每个元素与图的一个顶点相对应。
对于每个顶点vi,数组中储存与该顶点邻接的顶点的信息。
邻接表可以用链表或者数组来表示,链表表示的邻接表比较灵活,但是在查找某个边的相邻顶点时需要遍历整个链表。
三、图的性质1. 度图中每个顶点的度是与其相邻的边的数目。
对于无向图,顶点的度等于与其相邻的边的数目;对于有向图,则分为入度和出度。
2. 连通性对于无向图G,若图中任意两个顶点都有路径相连,则称图G是连通的。
对于有向图G,若从任意一个顶点vi到任意一个顶点vj都存在路径,则称G是强连通的。
3. 路径和回路路径是指图中一系列的边,连接图中的两个顶点;回路是指起点与终点相同的路径。
路径的长度是指路径中边的数目。
4. 树和森林一个无向图,如果是连通图且不存在回路,则称为树。
一个无向图,若它不是连通图,则称为森林。
四、图的常见算法1. 深度优先搜索(DFS)深度优先搜索是一种用于图的遍历的算法,它从图的某个顶点vi出发,访问它的所有邻接顶点,再对其中未访问的顶点继续深度优先搜索。
离散数学图论整理总结第⼋章图论8.1 图的基本概念8.1.1 图定义8.1―1 ⼀个图G 是⼀个三重组〈V (G ),E (G ),ΦG 〉,其中V (G )是⼀个⾮空的结点(或叫顶点)集合,E (G )是边的集合,ΦG 是从边集E 到结点偶对集合上的函数。
⼀个图可以⽤⼀个图形表⽰。
定义中的结点偶对可以是有序的,也可以是⽆序的。
若边e 所对应的偶对〈a ,b 〉是有序的,则称e 是有向边。
有向边简称弧,a 叫弧e 的始点,b 叫弧e 的终点,统称为e 的端点。
称e 是关联于结点a 和b 的,结点a 和结点b 是邻接的。
若边e 所对应的偶对(a ,b )是⽆序的,则称e 是⽆向边。
⽆向边简称棱,除⽆始点和终点的术语外,其它术语与有向边相同每⼀条边都是有向边的图称为有向图。
每⼀条边都是⽆向边的图称为⽆向图。
有向图和⽆向图也可互相转化。
例如,把⽆向图中每⼀条边都看作两条⽅向不同的有向边,这时⽆向图就成为有向图。
⼜如,把有向图中每条有向边都看作⽆向边,就得到⽆向图。
这个⽆向图习惯上叫做该有向图的底图。
在图中,不与任何结点邻接的结点称为弧⽴结点。
全由孤⽴结点构成的图称为零图。
关联于同⼀结点的⼀条边称为⾃回路。
在有向图中,两结点间(包括结点⾃⾝间)若同始点和同终点的边多于⼀条,则这⼏条边称为平⾏边。
在⽆向图中,两结点间(包括结点⾃⾝间)若多于⼀条边,则称这⼏条边为平⾏边。
两结点a 、b 间互相平⾏的边的条数称为边[a ,b ]的重数。
仅有⼀条时重数为1,⽆边时重数为0。
定义8.1―2 含有平⾏边的图称为多重图。
⾮多重图称为线图。
⽆⾃回路的线图称为简单图。
仅有⼀个结点的简单图称为平凡图。
定义 8.1―3 赋权图G 是⼀个三重组〈V ,E ,g 〉或四重组〈V ,E ,f ,g 〉,其中V 是结点集合, E 是边的集合,f 是定义在V 上的函数,g 是定义在E 上的函数。
8.1.2 结点的次数定义 8.1―4 在有向图中,对于任何结点v ,以v 为始点的边的条数称为结点v 的引出次数(或出度),记为deg +(v );以v 为终点的边的条数称为结点v 的引⼊次数(或⼊度),记为deg -(v );结点v 的引出次数和引⼊次数之和称为结点v 的次数(或度数),记作deg (v )。
离散数学中常用的图论算法简介图论是高等数学中的一个分支,主要涉及在图中寻找什么样的路径,以及什么样的点之间有什么样的关系。
在计算机科学中,图论的应用越来越广泛。
因为所有的计算机程序都是基于数据结构的,而图是一种最基本的数据结构之一。
离散数学中的图论算法大致可以分为两类:一类是针对稠密图的算法,另一类是针对稀疏图的算法。
稠密图指的是一种图,其中每对顶点都有一条边相连,而稀疏图则是指只有一部分顶点之间相连的图。
以下是一些常见的图论算法的简介。
1. Dijkstra算法Dijkstra算法是一种用于求图中最短路径的算法,也是最常用的图论算法之一。
Dijkstra算法的主要思想是通过贪心策略,从起点出发,逐步扩展最短路径的范围,直到找到终点。
Dijkstra算法可以用来解决单源最短路径问题。
如果图中有n个顶点,算法的时间复杂度为O(n²)。
2. Kruskal算法Kruskal算法是一种用于求最小生成树的算法。
最小生成树指的是,通过连接图中一些顶点形成一棵树,使得这些顶点之间的总权重最小。
Kruskal算法的主要思想是将图中的所有边按照权重进行排序,然后依次加入到生成树中,如果新加入的边会形成环,则不将其加入到生成树中。
如果图中有n个顶点,那么算法的时间复杂度为O(nlogn)。
3. Floyd算法Floyd算法用于求图中任意两个点之间的最短路径。
如果图中所有的权重都是正的,那么Floyd算法的时间复杂度为O(n的三次方),但是如果存在负权重,那么该算法不适用。
关于负权环的处理,可以通过Bellman-Ford算法进行解决。
4. Prim算法Prim算法是一种用于求最小生成树的算法。
与Kruskal算法不同的是,Prim算法是基于顶点集来实现,而不是基于边集。
Prim 算法首先找到一个起点,将其加入到生成树中,然后找到与其相连的边中权重最小的那一条,将其相连的顶点加入到生成树中,重复这一步骤直至所有顶点都被加入到生成树中。
离散数学中的图论代表知识点介绍离散数学是数学的一个分支,它主要研究离散对象以及其离散性质和离散结构。
图论作为离散数学的重要组成部分,以图为研究对象,研究了图的基本概念、图的表示方法以及图的性质和应用。
本文将介绍离散数学中的图论代表知识点。
1. 图的基本概念图是由顶点集合和边集合组成的离散结构,用V表示顶点集合,E表示边集合。
图可以分为有向图和无向图两种类型。
有向图中的边是有方向的,而无向图中的边是无方向的。
图中的顶点可以表示为V={v1, v2, v3, ...},边可以表示为E={(vi, vj)}。
在图中,两个顶点之间有边相连时,称这两个顶点是相邻的。
2. 图的表示方法图可以用多种方式来表示。
常见的表示方法有邻接矩阵和邻接表。
邻接矩阵是一个二维数组,其中的元素表示两个顶点之间是否存在边。
邻接表则是通过链表的方式来表示图的结构,每个顶点都对应一个链表,链表中存储着与该顶点相邻的顶点。
3. 图的性质图论研究了图的许多性质和特性。
其中一些重要的性质包括连通性、路径、回路、度数、树和连通分量等。
连通性是指图中任意两个顶点之间是否存在路径。
如果图中任意两个顶点都存在路径相连,则图被称为连通图。
反之,如果存在无法通过路径相连的顶点对,则图为非连通图。
连通图中的任意两个顶点之间至少存在一条路径。
路径是指从一个顶点到另一个顶点的顶点序列。
路径的长度是指路径上边的数量。
最短路径是指两个顶点之间边的数量最少的路径。
回路是指路径起点和终点相同的路径。
如果回路中除起点和终点以外的顶点不重复出现,则称为简单回路。
度数是指图中顶点的边的数量。
对于有向图来说,度数分为入度和出度,分别表示指向该顶点的边和从该顶点指出的边的数量。
树是一种无回路的连通图,它具有n个顶点和n-1条边。
树是图论中一个重要的概念,它有广泛的应用。
连通分量是指图中的极大连通子图,即在该子图中的任意两个顶点都是连通的,且该子图不能再加入其他顶点使其连通。
离散数学中的图论与图的遍历离散数学是数学中的一个重要分支,研究离散对象以及离散结构的性质和关系。
图论作为离散数学中的一个重要分支,主要研究图及其相关的性质和算法。
图的遍历是图论中的重要概念,通过遍历可以发现图的全部节点,并且按照一定规则访问每个节点。
本文将介绍离散数学中的图论以及图的遍历算法。
一、图论的基本概念在图论中,图由节点和边组成,节点表示对象,边表示节点之间的关系。
图可以分为有向图和无向图,有向图的边有方向,无向图的边没有方向。
对于图中的节点,我们称之为顶点,边可以连接两个顶点。
图的遍历算法主要分为深度优先搜索(DFS)和广度优先搜索(BFS)两种。
深度优先搜索从一个节点开始,沿着一条路径访问直到末端,然后回溯并访问其他路径。
广度优先搜索从一个节点开始,先访问所有邻接节点,然后逐层遍历。
二、图的遍历算法1. 深度优先搜索(DFS)深度优先搜索的过程类似于树的先序遍历,从一个节点开始,递归访问其邻接节点,直到遇到没有未访问过的邻接节点为止。
然后回溯到上一个节点,继续遍历其他未访问过的节点。
深度优先搜索的实现可以通过递归或者栈来实现。
对于递归实现,可以通过标记节点的方法来避免重复访问,对于栈实现,可以将当前节点入栈,并将其标记为已访问,然后遍历其邻接节点,直到栈为空。
2. 广度优先搜索(BFS)广度优先搜索的过程类似于树的层次遍历,从一个节点开始,先访问其邻接节点,然后逐层遍历其他节点。
使用队列来实现广度优先搜索,将起始节点入队列,然后依次访问队列中的节点的邻接节点,同时将访问过的节点标记为已访问,直到队列为空。
三、图论的应用领域图论作为离散数学的一个重要分支,在实际应用中有着广泛的应用。
以下是图论的一些主要应用领域:1. 社交网络分析:通过图论分析社交网络中的关系,可以推断用户之间的联系、社区结构等信息。
2. 路径规划:通过图论的遍历算法,可以找到两个节点之间的最短路径,应用于导航系统、物流路径规划等领域。
离散数学图论基本概念解释离散数学是一个研究离散对象及其关系和操作的数学分支,而图论则是离散数学的一个重要分支,用于研究图结构以及图中各种相关问题。
本文将对离散数学图论的基本概念进行解释。
一、图的定义图是指由一组顶点和连接这些顶点的边组成的数学结构。
图可以用G=(V, E)来表示,其中V表示顶点集合,E表示边的集合。
顶点之间的连接关系用边来表示,边有可能是有向的或无向的。
二、图的分类1. 无向图:图中的边没有方向,表示顶点之间的无序关系。
无向图可以是简单图(没有自环和重复边)或多重图(包含自环和多条重复边)。
2. 有向图:图中的边有方向,表示顶点之间的有序关系。
有向图也可以是简单图或多重图。
3. 加权图:顶点之间的边带有权重,用于表示边的强度或成本。
加权图可以是无向图或有向图。
三、图的常用术语1. 顶点的度:无向图中与某个顶点连接的边的数量称为该顶点的度。
在有向图中,顶点的度分为出度和入度,分别表示从该顶点出发的边的数量和指向该顶点的边的数量。
2. 路径:在图中,路径是指由一系列顶点和它们之间所连接的边组成的序列。
路径的长度是指路径中经过的边的数目。
3. 连通图:如果图中的任意两个顶点都存在一条路径相连,则称该图为连通图。
如果图非连通,则称为非连通图。
4. 完全图:如果一个无向图的任意两个顶点之间都有边相连,则称该图为完全图。
完全图有边n(n-1)/2条,其中n表示顶点的数量。
四、图的表示方法1. 邻接矩阵:邻接矩阵是一种以二维矩阵的形式来表示图的方法。
矩阵的行和列分别表示顶点,矩阵中的元素表示相应的边。
如果两个顶点之间存在边,就用1表示;否则,用0表示。
2. 邻接表:邻接表是一种以链表的形式来表示图的方法。
每个顶点都对应一个链表,链表中存储与该顶点相连的其他顶点。
五、图的遍历算法1. 深度优先搜索(DFS):DFS是一种用于遍历图的算法,它从一个初始顶点开始,沿着一条路径一直走到底,然后回溯到上一个顶点,再继续沿另一条路径走到底。
离散数学解决离散数学中的问题离散数学是数学的一个分支领域,主要研究离散结构以及离散对象之间的关系。
它在计算机科学、信息技术、密码学等领域中有着广泛的应用。
在离散数学中,我们可以通过不同的方法和技巧来解决各种问题。
本文将介绍几个常见的离散数学问题,并探讨它们的解决方法。
一、图论问题图论是离散数学中一个重要的分支,主要研究图的性质和关系。
在图论中,常常出现以下几类问题:1. 最短路径问题:给定一个带权重的有向图,要求找到两个顶点之间的最短路径。
常用的解决方法包括Dijkstra算法和Floyd-Warshall算法。
2. 最小生成树问题:给定一个带权重的无向图,要求找到一个包含所有顶点且边的权重之和最小的生成树。
常用的解决方法包括Prim算法和Kruskal算法。
3. 旅行商问题:给定一个带权重的完全有向图,要求找到一条经过每个顶点一次且路径权重最小的环路。
该问题属于NP难问题,常用的解决方法包括动态规划和回溯法。
二、集合与逻辑问题在离散数学中,集合论和逻辑推理是非常重要的工具。
以下是几个与集合和逻辑相关的问题:1. 集合关系的判断:给定两个集合A和B,判断A是否是B的子集、两个集合是否相等等。
可以通过集合的定义和性质进行判断。
2. 命题逻辑问题:给定一系列命题,通过逻辑推理判断命题之间的关系,如“与”、“或”、“非”等。
常用的推理方法包括真值表、推理规则和演绎法。
3. 谓词逻辑问题:给定一个谓词逻辑表达式,通过推理判断该表达式的真假。
谓词逻辑是一种对命题进行量化的方式,常用的推理规则包括全称量化规则和存在量化规则。
三、组合数学问题组合数学是研究离散结构的一种方法,常常涉及到排列、组合和集合等概念。
以下是几个与组合数学相关的问题:1. 排列组合问题:给定一组元素,问有多少种排列或组合方式。
可以通过组合数学中的排列和组合公式来计算。
2. 鸽巢原理问题:给定一组容器和一组元素,要求将元素放入容器中,保证每个容器至少包含一个元素。
第四篇图论自从1736年欧拉()利用图论的思想解决了哥尼斯堡(Konigsberg)七桥问题以来,图论经历了漫长的发展道路。
在很长一段时期内,图论被当成是数学家的智力游戏,解决一些著名的难题。
如迷宫问题、匿门博奕问题、棋盘上马的路线问题、四色问题和哈密顿环球旅行问题等,曾经吸引了众多的学者。
图论中许多的概论和定理的建立都与解决这些问题有关。
1847年克希霍夫(Kirchhoff)第一次把图论用于电路网络的拓扑分析,开创了图论面向实际应用的成功先例。
此后,随着实际的需要和科学技术的发展,在近半个世纪内,图论得到了迅猛的发展,已经成了数学领域中最繁茂的分支学科之一。
尤其在电子计算机问世后,图论的应用范围更加广泛,在解决运筹学、信息论、控制论、网络理论、博奕论、化学、社会科学、经济学、建筑学、心理学、语言学和计算机科学中的问题时,扮演着越来越重要的角色,受到工程界和数学界的特别重视,成为解决许多实际问题的基本工具之一。
图论研究的课题和包含的内容十分广泛,专门著作很多,很难在一本教科书中概括它的全貌。
作为离散数学的一个重要内容,本书主要围绕与计算机科学有关的图论知识介绍一些基本的图论概论、定理和研究内容,同时也介绍一些与实际应用有关的基本图类和算法,为应用、研究和进一步学习提供基础。
第4-1章 无向图和有向图学习要求:仔细领会和掌握图论的基本概论、术语和符号,对于图论研究的一些最基本的课题,如道路问题、连通性问题和着色的问题等,应掌握主要的定理内容和证明方法以及基本的构造方法,以便为下一章研究提供理论工具。
学习本章要用到集合和线性代数矩阵运算的知识,特别是集合数和矩阵秩的概念。
§4-1-1 图的基本概念图是用于描述现实世界中离散客体之间关系的有用工具。
在集合论中采用过以图形来表示二元关系的办法,在那里,用点来代表客体,用一条由点a 指向点b 的有向线段来代表客体a 和b 之间的二元关系aRb ,这样,集合上的二元关系就可以用点的集合V 和有向线的集合E 构成的二元组(V ,E )来描述。
离散数学中的图论入门图论是离散数学的一个重要分支,研究的对象是图。
图是由一些点和连接这些点的边组成的数学模型,可以用来描述现实世界中的各种关系和问题。
本文将介绍图论的基本概念和常见应用,帮助读者初步了解图论的入门知识。
一、图的定义与基本术语图由顶点集合和边集合组成。
顶点集合是图中的点的集合,用V表示;边集合是图中连接顶点的边的集合,用E表示。
图可以分为有向图和无向图。
有向图中的边是有方向的,表示从一个顶点指向另一个顶点的关系;无向图中的边是无方向的,表示两个顶点之间的关系。
图还可以分为简单图和多重图。
简单图中不存在重复的边和自环(起点和终点相同的边);多重图中可以存在重复的边和自环。
图中的边可以带权重,表示顶点之间的距离、代价或其他属性。
带权图可以用来解决最短路径、最小生成树等问题。
图的度是指与顶点相关联的边的数量。
对于无向图,顶点的度等于与之相连的边的数量;对于有向图,顶点的度分为入度和出度,分别表示指向该顶点的边的数量和从该顶点指出的边的数量。
二、图的表示方法图可以用邻接矩阵和邻接表两种方式进行表示。
邻接矩阵是一个二维数组,其中的元素表示两个顶点之间是否存在边。
如果顶点i和顶点j之间存在边,则邻接矩阵中第i行第j列的元素为1;否则为0。
邻接矩阵适用于稠密图,但对于稀疏图来说,会浪费较多的存储空间。
邻接表是由若干个链表构成的数组,数组的每个元素对应一个顶点,链表中存储与该顶点相连的其他顶点。
邻接表适用于稀疏图,可以有效地节省存储空间。
三、常见的图论算法与应用1. 深度优先搜索(DFS):DFS是一种用于遍历图的算法,通过递归的方式依次访问与当前顶点相邻的未访问过的顶点,直到所有顶点都被访问过为止。
DFS可以用来解决连通性、可达性等问题。
2. 广度优先搜索(BFS):BFS也是一种用于遍历图的算法,通过队列的方式按层次遍历图中的顶点。
BFS可以用来求解最短路径、网络分析等问题。
3. 最小生成树(MST):最小生成树是指在连通图中选择一棵生成树,使得树中所有边的权重之和最小。
离散数学中的图论与组合数学离散数学是数学的一个分支领域,研究离散化的结构和对象,而图论和组合数学则是离散数学中的两个重要分支。
本文将探讨图论和组合数学的基本概念和应用。
一、图论图论是研究图及其性质和应用的数学分支。
图是由一组顶点和连接这些顶点的边组成的数学结构。
具体来说,图由顶点的集合和边的集合构成,顶点间的边表示了它们之间的关系。
1.1 图的基本概念在图论中,我们经常会遇到以下几个基本概念:顶点:图中的一个节点或一个元素,用于表示一个实体或一个抽象的对象。
边:连接顶点的线段,表示顶点之间的关系。
路径:由边连续连接的顶点序列。
回路:起点和终点相同的路径。
距离:两个顶点间的路径长度。
连通性:图中任意两个顶点之间存在路径。
1.2 图的应用图论在现实生活和计算机科学中都有广泛的应用,其中一些重要的应用包括:网络分析:图论可用于分析社交网络、互联网和公共交通网络等复杂的网络结构。
电路设计:图论可以帮助设计电路和优化电路的布局。
路线规划:图论可应用于解决最短路径和旅行商问题等。
二、组合数学组合数学是一门研究离散结构的数学分支,主要研究离散对象的计数、排列、组合和选择等问题。
它涉及到排列组合、图论、图表以及递归等数学技术。
2.1 排列与组合排列是从给定对象中选取若干个并按照特定顺序排列的方式,而组合则是从给定对象中选取若干个但不考虑顺序的方式。
排列与组合的计数问题在实际应用中经常出现,比如:从n个数中选取m个不同的数,有多少种选择方式?从n个人中选取m个人组成一个团队,有多少种不同的团队组合方式?2.2 图论与组合数学的联系图论和组合数学有着紧密的联系,它们互相补充和借鉴。
图的着色问题是图论和组合数学中的一个重要问题。
着色问题可以简单地理解为如何用有限数量的颜色为图中的每个顶点染色,使得相邻的顶点颜色不同。
另一个联系是组合数学中的波利亚定理,它可以用于计算图的数量。
波利亚定理告诉我们,一个n个顶点的图中存在多少个不同的子图。
第四篇图论自从1736年欧拉(L.Euler)利用图论的思想解决了哥尼斯堡(Konigsberg)七桥问题以来,图论经历了漫长的发展道路。
在很长一段时期内,图论被当成是数学家的智力游戏,解决一些著名的难题。
如迷宫问题、匿门博奕问题、棋盘上马的路线问题、四色问题和哈密顿环球旅行问题等,曾经吸引了众多的学者。
图论中许多的概论和定理的建立都与解决这些问题有关。
1847年克希霍夫(Kirchhoff)第一次把图论用于电路网络的拓扑分析,开创了图论面向实际应用的成功先例。
此后,随着实际的需要和科学技术的发展,在近半个世纪内,图论得到了迅猛的发展,已经成了数学领域中最繁茂的分支学科之一。
尤其在电子计算机问世后,图论的应用范围更加广泛,在解决运筹学、信息论、控制论、网络理论、博奕论、化学、社会科学、经济学、建筑学、心理学、语言学和计算机科学中的问题时,扮演着越来越重要的角色,受到工程界和数学界的特别重视,成为解决许多实际问题的基本工具之一。
图论研究的课题和包含的内容十分广泛,专门著作很多,很难在一本教科书中概括它的全貌。
作为离散数学的一个重要内容,本书主要围绕与计算机科学有关的图论知识介绍一些基本的图论概论、定理和研究内容,同时也介绍一些与实际应用有关的基本图类和算法,为应用、研究和进一步学习提供基础。
第4-1章无向图和有向图学习要求:仔细领会和掌握图论的基本概论、术语和符号,对于图论研究的一些最基本的课题,如道路问题、连通性问题和着色的问题等,应掌握主要的定理内容和证明方法以及基本的构造方法,以便为下一章研究提供理论工具。
学习本章要用到集合和线性代数矩阵运算的知识,特别是集合数和矩阵秩的概念。
§4-1-1 图的基本概念图是用于描述现实世界中离散客体之间关系的有用工具。
在集合论中采用过以图形来表示二元关系的办法,在那里,用点来代表客体,用一条由点a指向点b的有向线段来代表客体a和b之间的二元关系aRb,这样,集合上的二元关系就可以用点的集合V和有向线的集合E构成的二元组(V,E)来描述。
同样的方法也可以用来描述其它的问题。
当我们考察全球航运时,可以用点来代表城市,用线来表示两城市间有航线通达;当研究计算机网络时,可以用点来表示计算机及终端,用线表示它们之间的信息传输通道;当研究物质的化学结构时,可以用点来表示其中的化学元素,而用线来表示元素之间的化学键。
在这种表示法中,点的位置及线的长短和形状都是无关紧要的,重要的是两点之间是否有线相连。
从图形的这种表示方式中可以抽象出图的数学概念来。
一、图定义4-1-1.1一个(无向)图G是一个二元组(V(G),E(G)),其中V (G)是一个有限的非空集合,其元素称为结点;E(G)是一个以不同结点的无序对为元素,并且不含重复元素的集合,其元素称为边。
我们称V(G)和E(G)分别是G的结点集和边集。
在不致引起混淆的地方,常常把V(G)和E(G)分别简记为V 和E 。
我们约定,由结点u 和结点v 构成的无序对用uv (或vu )表示。
根据图的这种定义,很容易利用图形来表示图。
图形的表示方法具有直观 性,可以帮助我们了解图的性质。
在图的图形表示中,每个结点用一个小圆点表示,每条边u v 用一条分别以结点v 和u 为端点的联线表示。
图4-1-1.1中,(a )是图{}{}),,,,,,,,,(4342324131214321v v v v v v v v v v v v v v v v G 的图形表示;(b )是图H={}{}()65323121654321,,,,,,,,,u u u u u u u u u u u u u u 的图形表示。
在某些情况下,图的图形表示中,可以不标记每个结点的名称。
(a ) (b )图4-1-1.1须注意,一个图的图形表示法可能不是唯一的。
表示结点的圆点和表示边的线,它们的相对位置是没有实际意义的。
因此,对于同一个图,可能画出很多表面不一致的图形来。
例如图4-1-1.1的(a )图还可以有图9—1.2中的两种图形表示。
图4-1-1.2图G 的结点数称为G 的阶,用字母n 的表示。
G 的边数用m 表示,也可以表示成m G E =)(。
一个边数为m 的n 阶图可简称为(n ,m )—图。
如图4-1-1.1的(a )和(b )分别表示一个(4,6)—图和一个(6,4)—图。
若uv e =是图G 的一条边,则称结点u 和v 是相互邻接的,并且说边e 分别与u 和v 相互关联。
若G 的两条边1e 和2e 都与同一个结点关联时,称1e 和2e 3v 4u 2 u 5u 64 v23 v是相互邻接的。
二、图的变体若在定义4-1-1.1中去掉边集E中“不含重复元素”的限制条件,则得到多重图的定义。
在多重图中,允许两条或两条以上的边与同一对结点关联,这些边称为平行边。
由于可能有多条边与同一个结点对相关联,为区别起见,有时也对各边加以编号。
图4-1-1.3是多重图的一个例子。
若在多重图的基础上,进一步去掉边是由不同结点的无序对表示的条件,即允许形如uue=的边(称为环)存在,则得到广义图或伪图的定义。
图4-1-1.4是伪图的一个例子。
图4-1-1.3 图4-1-1.4为了区别于多重图和伪图,以后称满足定义4-1-1.1的图为简单图。
很明显,将多重图和伪图中的平行边代之以一条边,去掉环,就可以得到一个简单图。
这样得到的简单图称为原来图的基图。
在研究某些图论问题,如连通,点着色,点独立集,哈密顿图和平面性问题时只要考虑对应的基图就行了。
因此,简单图将是本课程的主要讨论对象。
“图”将作为一个概括性的词加以使用。
另外,有向图也是极重要的研究对象,在计算机科学中尤其有用。
只要在定义4-1-1.1中把“无序对”换成“有序对”就得到了有向图的定义。
有向图的“边”用形如),(vue=的序偶表示,其意义是e是一条由结点u指向结点v的有向边,并且称e是u的出边,是v的入边。
自然,),(vu和),(uv是不同的边。
类似于图定义的扩充,也可以定义出相应的多重有向图和有向伪图,并把上面定义的有向图相应称为简单有向图。
“有向图”将作为概括性的词加以使用。
图vv254-1-1.5中(a )、(b )和(c )分别是简单有向图、多重有向图和有向伪图的例子。
(a )图4-1-1.5有时也要考虑有向图的基图。
一个有向图的基图是当去掉的边方向后得到的无向图(可以含有平行边和环)。
根据不同的应用,图的定义还有别的一些扩充形式,如权图、标号图、无限图、混合图、根图、超图等。
三、图论基本定理下面将从数量方面去建立图的元素的基本关系。
定义 4-1-1.2 图G 中结点v 的度(简称点度))(v d G 是G 中与v 关联的边的数目。
每个环在计度时算作两条边。
图G 中最大的点度和最小的点度分别记为G ∆和G δ。
在不致引起混淆的地方,)(v d G ,G ∆和G δ分别简写成)(v d ,∆和δ。
在图4-1-1.4中 3,6,4)(,6)(,6)(,5)(,3)(54321==∆=====δv d v d v d v d v d 。
由图中各结点的度构成的序列称为该图一个度序列。
例如图4-1-1.4的一个度序列是(3,5,6,6,4)。
度序列在某些图论专题中也是重要的研究工具。
下面介绍图论中最基本的定理,它是欧拉1736年在解决“Konigsberg 七桥问题”时建立的第一个图论结果,很多重要结论都与它有关。
定理4-1-1.1 (图论基本定理—握手定理)对于任何(n ,m )—图∑∈==Vv m v d E V G 2)(),,(。
即点度之和等于边数的两倍。
证明: 根据点度的定义,在计算点度时每条边对于它所关联的结点被计算了两次。
因此,G 中点度的总和恰为边数m 的2倍。
推论 9—1.1.1 在任何图中,奇数度的结点数必是偶数。
证明 设V 1和V 2分别是图G 的奇度结点集和偶度结点集。
由定理4-1-1.1应有∑∑∈∈=+212)()(V v V v m v d v d 。
上式左端第二项是偶数之和,从而第一项必然也是偶数,即1V 必须是偶数。
在有向图中,点度的概念稍有不同。
定义 4-1-1.3 有向图G 中,结点v 的入度)(v d -是与v 关联的入边的数目,出度)(v d +是与v 关联的出边的数目。
有向图的最大出度、最大入度、最小出度、最小入度分别记为-+-+∆∆δδ、、、。
例 在图4-1-1.5(c )中,1)(,2)(,2)(,2)(,3)(32211=====+-+-+v d v d v d v d v d 2,1,2,3,2)(3===∆=∆=-+-+-δδv d 。
定理 4-1-1.2 对于任何(n ,m )—有向图G =(V ,E ),m v d v d Vv V v ==-∈+∈∑∑)()(。
证明:任何一条有向边,在计算点度时提供一个出度和一个入度。
因此,任意有向图出度之和等于入度之和等于边数。
四、基本图例图中度为零的结点称为孤立结点。
只由孤立结点构成的图),(Φ=V G 称为零图,特别地,只由一个孤立结点构成的图称为平凡图。
各点度相等的图称为正则图。
特别地,点度为k 的正则图又称为k 度正则图。
显然,零图是零度正则图。
任何两个结点都相互邻接的简单图称为完全图。
n 阶的完全图是))1(21,(-n n n —图,特别记之为n K 。
图4-1-1.6是常用的几个完全图。
显然,n K 是(n -1)度正则图。
图9—1.6类似地,可以定义有向完全图。
每对结点u 和v 之间皆有边(u ,v )和(v ,u )联结的简单有向图称为有向完全图。
每对结点u 和v 之间恰有一条边(u ,v )(或(v ,u ))联结的简单有向图称为竞赛图。
图4-1-1.7(a )是三阶有向完全图,(b )是4阶的竞赛图。
图4-1-1.7图G=(V ,E )的结点集可以分划成两个子集X 和Y ,使得它的每一条边的一个关联结点在X 中,另一个关联结点在Y 中,这类图称为二部图,又常说G 是具有二部分划(X ,Y )的图。
设G 是具有二部分划(X ,Y )的图,21,n Y n X ==,如果X 中每个结点与Y 中的全部结点都邻接,则称G 为完全二部图,并记之为21,n n K 。
图4-1-1.8中(a )和(b )都是二部图,其中(a )图的黑点属于一部,其余结点属于另一部,(b )图是3,3K ,其二部分划是明显的。
K 1K 2 K 3 K 4 K 5(a ) (b )(a ) (b )图4-1-1.8五、子图与补图1.子图定义 4-1-1.4 设),(11E V G =和),(22E V H =是两个图,若满足12V V ⊆且12E E ⊆,则称H 是G 的子图。