离散数学图论整理
- 格式:doc
- 大小:1.85 MB
- 文档页数:16
离散图论知识点总结一、基本概念图(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出发,访问它的所有邻接顶点,再对其中未访问的顶点继续深度优先搜索。
离散数学图论(图、树)常考考点知识点总结图的定义和表示1.图:一个图是一个序偶<V , E >,记为G =< V ,E >,其中:① V ={V1,V2,V3,…, Vn}是有限非空集合,Vi 称为结点,V 称为节点集② E 是有限集合,称为边集,E中的每个元素都有V中的结点对与之对应,称之为边③与边对应的结点对既可以是无序的,也可以是有序的表示方法集合表示法,邻接矩阵法2.邻接矩阵:零图的邻接矩阵全零图中不与任何结点相邻接的结点称为孤立结点,两个端点相同的边称为环或者自回路3.零图:仅有孤立节点组成的图4.平凡图:仅含一个节点的零图无向图和有向图5.无向图:每条边都是无向边的图有向图:每条边都是有向边的图6.多重图:含有平行边的图(无向图中,两结点之间包括结点自身之间的几条边;有向图中同方向的边)7.线图:非多重图8.重数:平行边的条数9..简单图:无环的线图10.子图,真子图,导出子图,生成子图,补图子图:边和结点都是原图的子集,则称该图为原图的子图真子图(该图为原图的子图,但是不跟原图相等)11.生成子图:顶点集跟原图相等,边集是原图的子集12.导出子图:顶点集是原图的子集,边集是由顶点集在原图中构成的所有边构成的图完全图(任何两个节点之间都有边)13.完全图:完全图的邻接矩阵主对角线的元素全为0,其余元素都是114.补图:完全图简单图15.自补图:G与G的补图同构,则称自补图16.正则图:无向图G=<V,E>,如果每个顶点的度数都是k,则图G称作k-正则图17.结点的度数利用邻接矩阵求度数:18.握手定理:图中结点度数的总和等于边数的两倍推论:度数为奇数的结点个数为偶数有向图中,所有结点的入度=出度=边数19.图的度数序列:出度序列+入度序列20.图的同构:通俗来说就是两个图的顶点和边之间有双射关系,并且每条边对应的重数相同(也就是可任意挪动结点的位置,其他皆不变)21.图的连通性及判定条件可达性:对节点vi 和vj 之间存在通路,则称vi 和vj 之间是可达的22.无向图的连通性:图中每两个顶点之间都是互相可达的23..强连通图:有向图G 的任意两个顶点之间是相互可达的判定条件:G 中存在一条经过所有节点至少一次的回路24.单向连通图:有向图G 中任意两个顶点之间至少有一个节点到另一个节点之间是可达的判定条件:有向图G 中存在一条路经过所有节点25.弱连通图:有向图除去方向后的无向图是连通的判定条件:有向图邻接矩阵与转置矩阵的并是全一的矩阵26.点割:设无向图G=<V,E>为联通图,对任意的顶点w  V,若删除w及与w相关联的所有边后,无向图不再联通,则w称为割点;27.点割集:设无向图G=<V,E>为连通图,若存在点集 ,当删除 中所有顶点及与V1顶点相关联的所有边后,图G不再是联通的;而删除了V1的任何真子集 及与V2中顶点先关的所有边后,所得的子图仍是连通图,则称V1是G的一个点割集设无向图G=<V,E>为连通图,任意边e  E,若删除e后无向图不再联通,则称e 为割边,也成为桥28.边割集:欧拉图,哈密顿图,偶图(二分图),平面图29.欧拉通路(回路):图G 是连通图,并且存在一条经过所有边一次且仅一次的通路(回路)称为拉通路(回路)30.欧拉图:存在欧拉通路和回路的图31.半欧拉图:有通路但没有欧拉回路32.欧拉通路判定:图G 是连通的,并且有且仅有零个或者两个奇度数的节点欧拉回路判定:图G 是连通的,并且所有节点的度数均为偶数有向欧拉图判定:图G 是连通的,并且所有节点的出度等于入度33.哈顿密图:图G 中存在一条回路,经过所有点一次且仅一次34..偶图:图G 中的顶点集被分成两部分子集V1,V2,其中V1nV2= o ,V1UV2= V ,并且图G 中任意一条边的两个端点都是一个在V1中,一个在V2中35.平面图:如果把无向图G 中的点和边画在平面上,不存在任何两条边有不在端点处的交叉点,则称图G 是平面图,否则是非平面图36.图的分类树无向树和有向树无向树:连通而不含回路的无向图称为无向树生成树:图G 的某个生成子图是树有向树:一个有向图,略去所有有向边的方向所得到的无向图是一棵树最小生成树最小生成树:设G -< V . E 是连通赋权图,T 是G 的一个生成树,T 的每个树枝所赋权值之和称为T 的权,记为W ( T . G 中具有最小权的生成树称为G 的最小生成树最优树(哈夫曼树)设有一棵二元树,若对所有的树叶赋以权值w1,w2… wn ,则称之为赋权二元树,若权为wi 的叶的层数为L ( wi ),则称W ( T )= EWixL ( wi )为该赋权二元树的权,W )最小的二元树称为最优树。
离散数学中的图论基础知识讲解图论是离散数学中的一个重要分支,研究的是图的性质和图中的关系。
图论在计算机科学、网络科学、运筹学等领域有着广泛的应用。
本文将从图的基本概念、图的表示方法、图的遍历算法以及一些常见的图论问题等方面进行讲解。
一、图的基本概念图是由顶点和边组成的一种数学结构。
顶点表示图中的元素,边表示元素之间的关系。
图可以分为有向图和无向图两种类型。
1. 无向图:无向图中的边没有方向,表示的是两个顶点之间的无序关系。
如果两个顶点之间存在一条边,那么它们之间是相邻的。
无向图可以用一个集合V表示顶点的集合,用一个集合E表示边的集合。
2. 有向图:有向图中的边有方向,表示的是两个顶点之间的有序关系。
如果从顶点A到顶点B存在一条有向边,那么A指向B。
有向图可以用一个集合V表示顶点的集合,用一个集合E表示有向边的集合。
二、图的表示方法图可以用多种方式进行表示,常见的有邻接矩阵和邻接表两种方法。
1. 邻接矩阵:邻接矩阵是一个二维数组,其中的元素表示两个顶点之间是否存在边。
如果顶点i和顶点j之间存在边,那么矩阵的第i行第j列的元素为1;否则为0。
邻接矩阵适用于表示稠密图,但对于稀疏图来说,会造成空间浪费。
2. 邻接表:邻接表是一种链表的数据结构,用来表示图中的顶点和边。
每个顶点对应一个链表,链表中存储与该顶点相邻的顶点。
邻接表适用于表示稀疏图,节省了存储空间。
三、图的遍历算法图的遍历是指按照某一规则访问图中的所有顶点。
常见的图的遍历算法有深度优先搜索(DFS)和广度优先搜索(BFS)。
1. 深度优先搜索:深度优先搜索是一种递归的搜索算法。
从某个顶点出发,首先访问该顶点,然后递归地访问与它相邻的未访问过的顶点,直到所有的顶点都被访问过。
2. 广度优先搜索:广度优先搜索是一种迭代的搜索算法。
从某个顶点出发,首先访问该顶点,然后依次访问与它相邻的所有未访问过的顶点,再依次访问与这些顶点相邻的未访问过的顶点,直到所有的顶点都被访问过。
离散数学中的图论代表知识点介绍离散数学是数学的一个分支,它主要研究离散对象以及其离散性质和离散结构。
图论作为离散数学的重要组成部分,以图为研究对象,研究了图的基本概念、图的表示方法以及图的性质和应用。
本文将介绍离散数学中的图论代表知识点。
1. 图的基本概念图是由顶点集合和边集合组成的离散结构,用V表示顶点集合,E表示边集合。
图可以分为有向图和无向图两种类型。
有向图中的边是有方向的,而无向图中的边是无方向的。
图中的顶点可以表示为V={v1, v2, v3, ...},边可以表示为E={(vi, vj)}。
在图中,两个顶点之间有边相连时,称这两个顶点是相邻的。
2. 图的表示方法图可以用多种方式来表示。
常见的表示方法有邻接矩阵和邻接表。
邻接矩阵是一个二维数组,其中的元素表示两个顶点之间是否存在边。
邻接表则是通过链表的方式来表示图的结构,每个顶点都对应一个链表,链表中存储着与该顶点相邻的顶点。
3. 图的性质图论研究了图的许多性质和特性。
其中一些重要的性质包括连通性、路径、回路、度数、树和连通分量等。
连通性是指图中任意两个顶点之间是否存在路径。
如果图中任意两个顶点都存在路径相连,则图被称为连通图。
反之,如果存在无法通过路径相连的顶点对,则图为非连通图。
连通图中的任意两个顶点之间至少存在一条路径。
路径是指从一个顶点到另一个顶点的顶点序列。
路径的长度是指路径上边的数量。
最短路径是指两个顶点之间边的数量最少的路径。
回路是指路径起点和终点相同的路径。
如果回路中除起点和终点以外的顶点不重复出现,则称为简单回路。
度数是指图中顶点的边的数量。
对于有向图来说,度数分为入度和出度,分别表示指向该顶点的边和从该顶点指出的边的数量。
树是一种无回路的连通图,它具有n个顶点和n-1条边。
树是图论中一个重要的概念,它有广泛的应用。
连通分量是指图中的极大连通子图,即在该子图中的任意两个顶点都是连通的,且该子图不能再加入其他顶点使其连通。
离散数学中的图论与图的遍历离散数学是数学中的一个重要分支,研究离散对象以及离散结构的性质和关系。
图论作为离散数学中的一个重要分支,主要研究图及其相关的性质和算法。
图的遍历是图论中的重要概念,通过遍历可以发现图的全部节点,并且按照一定规则访问每个节点。
本文将介绍离散数学中的图论以及图的遍历算法。
一、图论的基本概念在图论中,图由节点和边组成,节点表示对象,边表示节点之间的关系。
图可以分为有向图和无向图,有向图的边有方向,无向图的边没有方向。
对于图中的节点,我们称之为顶点,边可以连接两个顶点。
图的遍历算法主要分为深度优先搜索(DFS)和广度优先搜索(BFS)两种。
深度优先搜索从一个节点开始,沿着一条路径访问直到末端,然后回溯并访问其他路径。
广度优先搜索从一个节点开始,先访问所有邻接节点,然后逐层遍历。
二、图的遍历算法1. 深度优先搜索(DFS)深度优先搜索的过程类似于树的先序遍历,从一个节点开始,递归访问其邻接节点,直到遇到没有未访问过的邻接节点为止。
然后回溯到上一个节点,继续遍历其他未访问过的节点。
深度优先搜索的实现可以通过递归或者栈来实现。
对于递归实现,可以通过标记节点的方法来避免重复访问,对于栈实现,可以将当前节点入栈,并将其标记为已访问,然后遍历其邻接节点,直到栈为空。
2. 广度优先搜索(BFS)广度优先搜索的过程类似于树的层次遍历,从一个节点开始,先访问其邻接节点,然后逐层遍历其他节点。
使用队列来实现广度优先搜索,将起始节点入队列,然后依次访问队列中的节点的邻接节点,同时将访问过的节点标记为已访问,直到队列为空。
三、图论的应用领域图论作为离散数学的一个重要分支,在实际应用中有着广泛的应用。
以下是图论的一些主要应用领域:1. 社交网络分析:通过图论分析社交网络中的关系,可以推断用户之间的联系、社区结构等信息。
2. 路径规划:通过图论的遍历算法,可以找到两个节点之间的最短路径,应用于导航系统、物流路径规划等领域。
高中图论知识点总结图论是离散数学中的一个重要分支,是研究图与网络结构的数学理论。
图论的研究对象是图,图由顶点集合和边集合组成,通过顶点和边的连接关系描述了事物之间的关系。
图论在计算机科学、网络科学、社交网络分析等领域有着广泛的应用。
下面将对高中图论的知识点进行总结。
一、图的基本概念1.1 图的定义图(Graph)是由非空的顶点集和边集组成的一个数学模型。
无向图是边不带方向的图,有向图是边带有方向的图,边上有权值的图称为加权图。
1.2 图的表示图可以通过邻接矩阵和邻接表两种方式进行表示。
邻接矩阵是将图的边关系存储在一个二维数组中,邻接表是将每个顶点的邻接顶点列表存储在链表或数组中。
1.3 图的分类图可以根据边的性质分为简单图、多重图、完全图等不同类型。
二、图的遍历2.1 深度优先搜索深度优先搜索(DFS)是一种用于遍历图或树的算法,通过递归或栈的方式实现。
DFS从某一顶点出发,访问它的一个邻接点,然后再访问这个邻接点的一个邻接点,依次进行下去,直到不能继续为止。
DFS的应用包括路径查找、连通性判断、拓扑排序等。
2.2 广度优先搜索广度优先搜索(BFS)是一种用于遍历图或树的算法,通过队列的方式实现。
BFS从某一顶点出发,先访问它的所有邻接点,然后再依次访问这些邻接点的所有未被访问的邻接点,依次进行下去,直到不能继续为止。
BFS的应用包括最短路径查找、连通性判断等。
三、最短路径算法3.1 Dijkstra算法Dijkstra算法是一种用于求解单源最短路径的算法,通过维护一个距离数组和一个已访问顶点集合来不断更新到达各顶点的最短路径。
Dijkstra算法适用于边权值非负的加权图。
3.2 Floyd算法Floyd算法是一种用于求解所有顶点对之间的最短路径的算法,通过动态规划的方式实现。
Floyd算法适用于有向图和无向图。
四、最小生成树算法4.1 Prim算法Prim算法是一种用于求解无向连通图的最小生成树的算法,通过维护一个顶点集合和一个边集合来逐步构建最小生成树。
总 结第八章 图论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 )。
在无向图中,结点v 的次数是与结点v 相关联的边的条数,也记为deg (v )。
孤立结点的次数为零。
定理8.1―1 设G 是一个(n ,m )图,它的结点集合为V ={v 1,v 2,…,v n},则 定理8.1―2 在图中,次数为奇数的结点必为偶数个。
定义8.1―5 各结点的次数均相同的图称为正则图,各结点的次数均为k 时称为k ―正则图。
8.1.3 图的同构定义8.1.6 设G =〈V ,E 〉和G ′=〈V ′,E ′〉是两个图,若存在从V 到V ′的双射函数1deg()2n i i m υ==∑Φ,使对任意a 、b ∈V ,[a ,b ∈E 当且仅当[Φ(a ),Φ(b )]∈E ′,并且[a ,b ]和[Φ(a ),Φ(b )]有相同的重数,则称G 和G ′是同构的。
8.1.4 图的运算定义8.1―7 设图G 1=〈V 1,E 1〉和图G 2=〈V 2,E 2〉。
(1)G 1与G 2的并,定义为图G 3=〈V 3,E 3〉,其中V 3=V 1∪V 2,E 3=E 1∪E 2,记为G 3=G 1∪G 2。
(2)G 1与G 2的交,定义为图G 3=〈V 3,E 3〉,其中V 3=V 1∩V 2,E 3=E 1∩E 2,记为G 3=G 1∩G 2。
(3)G 1与G 2的差,定义为图G 3=〈V 3,E 3〉,其中E 3=E 1-E 2,V 3=(V 1-V 2)∪{E 3中边所关联的顶点},记为G 3=G 1-G 2。
(4)G 1与G 2的环和,定义为图G 3=〈V 3,E 3〉,G 3=(G 1∪G 2)-(G 1∩G 2),记为G 3=G 1G 2。
除以上4种运算外,还有以下两种操作:(1) 删去图G 的一条边e ;(2) 删去图G 的一个结点v 。
它的实际意义是删去结点v 和与v 关联的所有边。
8.1.5 子图与补图定义8.1―8 设G =〈V ,E 〉和G ′=〈V ′,E ′〉是两个图。
(1) 如果V ′⊆V 和E ′⊆E ,则称G ′是G 的子图。
如果V ′⊆V 和E ′⊆E ,则称G ′≠G 的真子图。
(注意:“G ′是图”已隐含着“E ′中的边仅关联V ′中的结点”的意义。
)(2) 如果V ′=V 和E ′⊆E ,则称G ′为G 的生成子图。
(3) 若子图G ′中没有孤立结点,G ′由E ′唯一确定,则称G ′为由边集E ′导出的子图。
(4)若在子图G ′中,对V ′中的任意二结点u 、v ,当[u ,v ]∈E 时有[u ,v ]∈E ′,则G ′由V ′唯一确定,此时称G ′为由结点集V ′导出的子图。
定义8.1―9在n 个结点的有向图G =〈V ,E 〉中,如果E =V ×V ,则称G 为有向完全图;在n 个结点的无向图G =〈V ,E 〉中,如果任何两个不同结点间都恰有一条边,则称G 为无向完全图,记为Kn 。
定义8.1―10 设线图G =〈V ,E 〉有n 个顶点,线图H =〈V ,E ′〉也有同样的顶点,而E ′是由n 个顶点的完全图的边删去E 所得,则图H 称为图G 的补图,记为 ,显然, 。
8.2 路径和回路8.2.1 基本概念定义8.2―1在有向图中,从顶点v 0到顶点vn 的一条路径是图的一个点边交替序列(v 0e 1v 1e 2v 2…envn ),其中vi -1和vi 分别是边ei 的始点和终点,i =1,2,…,n 。
在序列中,如果同一条边不出现两次,则称此路径是简单路径,如果同一顶点不出现两次,则称此路径是基本路径(或叫链)。
如果路径的始点v 0和终点vn 相重合,即v 0=vn ,则此路径称为回路,没有相同边的回路称为简单回路,通过各顶点不超过一次的回路称为基本回路。
定义8.2―2 路径P 中所含边的条数称为路径P 的长度。
长度为0的路径定义为单独一个顶点。
(但注意习惯上不定义长度为0的回路。
)定理8.2―1 在一个具有n 个结点的简单图G =〈V ,E 〉中,如果从v 1到v 2有一条路径,则从v 1到v 2有一条长度不大于n -1的基本路径。
定理8.2―2 在一个具有n 个结点的简单图G =〈V ,E 〉中,如果经v 1有一条简单回路,则经v 1有一条长度不超过n 的基本回路。
定义8.2―3 在图G =〈V ,E 〉中,从结点vi 到v j 最短路径的长度叫从vi 到v j 的距离,记为H G =G G=d (vi ,v j)。
若从vi 到v j 不存在路径,则d (vi ,v j)=∞。
注意,在有向图中,d (vi ,v j)不一定等于d (v j,vi ),但一般地满足以下性质:(1) d (vi ,v j)≥0;(2) d (vi ,vi )=0;(3) d (vi ,v j)+d (v j,v k)≥d (vi ,v k)。
8.2.2 图的连通度定义8.2―4设G=〈V ,E〉是图,且vi 、v j ∈V 。
如果从vi 到v j 存在一条路径,则称v j 从vi 可达。
vi 自身认为从vi 可达。
定义8.2―5在无向图G 中,如果任两结点可达,则称图G 是连通的;如果G 的子图G ′是连通的,没有包含G ′的更大的子图G ″是连通的,则称G ′是G 的连通分图(简称分图)。
一个无向图或者是一个连通图,如图8.2―2(a )所示,或者是由若干个连通分图组成,如图8.2―2(b )所示。
图 8.2―2定理8.2―3 设G 是任一(n ,m )无向简单图,ω是其分图个数,则定义8.2―11在有向图中,如果在任两结点偶对中,至少从一个结点到另一个结点是可达的,则称图G 是单向连通的;如果在任两结点偶对中,两结点都互相可达,则称图G 是强连通的;如果它的底图是强连通的,则称图G 是弱连通的。
显然,强连通的也一定是单向连通和弱连通的,单向连通的一定是弱连通的,但其逆均不真。
在图8.2―3中,(a )是强连通的,(b )是单向连通的,(c )是弱连通的。
图 8.2―3定义8.2―12 在有向图G =〈V ,E 〉中,G ′是G 的子图,若G ′是强连通的(单向连通的,弱连通的),没有包含G ′的更大子图G ″是强连通的(单向连通的,弱连通的),则称G ′是G 的强分图(单向分图,弱分图)。
在图8.2―4中,强分图集合是:{〈{1,2,3},{e 1,e 2,e 3}〉,〈{4},φ〉,〈{5},φ〉,〈{6},φ〉,〈{7,8},{e 7,e 8}〉}单向分图集合是:{〈{1,2,3,4,5},{e 1,e 2,e 3,e 4,e 5}〉,〈{6,5},{e 6}〉,〈{7,8},{e 7,e 8}〉}弱分图集合是:1()(1)2n m n n ωωω-≤≤--+{〈{1,2,3,4,5,6},{e1,e2,e3,e4,e5,e6}〉,〈{7,8},{e7,e8}〉}图8.2―48.2.3 赋权图中的最短路径设G=〈V,E,W〉是个赋权图,W是从E到正实数集合的函数,边[i,j]的权记为W(i,j),称为边的长度。
若i和j之间没有边,那么W(i,j)=∞。
路径P的长度定义为路径中边的长度之和,记为W(P)。
图G中从结点u到结点v的距离记为d(u,v),定义为min{W(P)|P为G中从u到v的路径}∞当从u到v不可达时本小节主要讨论在一个赋权的简单连通无向图G=〈V,E,W〉中,求一结点a(称为源点)到其它结点x的最短路径的长度,通常称它为单源问题。
下面介绍1959年迪克斯特拉(E.W.Dijkstra)提出的单源问题的算法,其要点如下:(1) 把V分成两个子集S和T。
初始时,S={a},T=V-S。
(2) 对T中每一元素t计算D(t),根据D(t)值找出T中距a最短的一结点x,写出a到x的最短路径的长度D(x)。
(3)置S为S∪{x},置T为T-{x},若T= ,则停止,否则再重复2。
8.2.4 欧拉路径和欧拉回路哥尼斯堡(Ko nig s berg,现加里宁格勒)位于普雷格尔(Prege l)河畔,河中有两岛。
城市的各部分由7座桥接通,如图8.2―8(a)所示。
古时城中居民热衷于一个问题:游人从任一地点出发,怎样才能做到穿过每座桥一次且仅一次后又返回原出发地。
1736年欧拉用图论方法解决了此问题,写了第一篇图论的论文,从而成为图论的创始人。
不难看出,如果用结点代表陆地,用边代表桥,哥尼斯堡七桥问题就等价在于图8.2―8(b)中找到这样一条路径,它穿程每条边一次且仅一次。