图 图的基本概念.pptx
《图 图的基本概念.pptx》由会员分享,可在线阅读,更多相关《图 图的基本概念.pptx(135页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8.1图的基本概念一、图的定义图是由一个非空的顶点集合和一个描述顶点之间多对多关系的边(或弧)集图是由一个非空的顶点集合和一个描述顶点之间多对多关系的边(或弧)集合组成的一种数据结构,它可以形式化地表示为:合组成的一种数据结构,它可以形式化地表示为:图(图(V V,E E)其中其中V=x|xV=x|x 某个数据对象集某个数据对象集,它是顶点的有穷非空集合;,它是顶点的有穷非空集合;E=E=(x x,y y)|x|x,y y VV或或E=xE=|xy|x,y y V V且且P P(x x,y y),它是顶点之间关系的有穷集合,它是顶点之间关系的有穷集合,也叫做边集合,也叫做边集合,P P(x x
2、,y y)表示从)表示从x x到到y y的一条单向通路。的一条单向通路。第1页/共135页图的应用举例图的应用举例例例1 1 交通图(公路、铁路)交通图(公路、铁路)顶点:地点顶点:地点 边:连接地点的公路边:连接地点的公路 交通图中的有单行道双行道,分别用有向边、无向边表示;交通图中的有单行道双行道,分别用有向边、无向边表示;V0V0 V4V4 V3V3 V1V1 V2V2 V0V0 V1V1 V2V2 V3V3例例2 2 电路图电路图 顶点:元件顶点:元件 边:连接元件之间的线路边:连接元件之间的线路例例3 3 通讯线路图通讯线路图 顶点:地点顶点:地点 边:地点间的连线边:地点间的连线例
3、例4 4 各种流程图各种流程图 如产品的生产流程图如产品的生产流程图 顶点:工序顶点:工序 边:各道工序之间的顺序关系边:各道工序之间的顺序关系第2页/共135页 通通常常,也也将将图图GG的的顶顶点点集集和和边边集集分分别别记记为为V V(GG)和和E E(GG)。E E(GG)可可以以是是空空集,若集,若E E(GG)为空,则图)为空,则图GG只有顶点而没有边。只有顶点而没有边。若图若图GG中的每条边都是有方向的,则称中的每条边都是有方向的,则称GG为为有向图有向图。在有向图中,一条有向边。在有向图中,一条有向边是由两个顶点组成的有序对,有序对通常用尖括号表示。例如,有序对是由两个顶点组成
4、的有序对,有序对通常用尖括号表示。例如,有序对v 表表示一条由示一条由v vi i到到v vj j的有向边。有向边又称为的有向边。有向边又称为弧弧,弧的始点称为,弧的始点称为弧尾弧尾,弧的终点称为,弧的终点称为弧弧头头。若图。若图GG中的每条边都是没有方向的,则称中的每条边都是没有方向的,则称GG为为无向图无向图。无向图中的边均是顶点。无向图中的边均是顶点的无序对,无序对通常用圆括号表示。的无序对,无序对通常用圆括号表示。第3页/共135页图图8-18-1v1v2v3v4v1v2v4v5v3(a a)有向图)有向图G G1 1(b b)无向图)无向图G G2 2 图图8.18.1(a a)表示
5、的是有向图)表示的是有向图GG1 1,该图的顶点集和边集分别为:,该图的顶点集和边集分别为:V V(GG1 1)=v=v1 1,v v2 2,v v3 3,v v4 4 E E(GG1 1)=v=,v,v,v例例有序对有序对v :用以为用以为v vi i起点、以起点、以v vj j为终点为终点的有向线段表示,称为有向的有向线段表示,称为有向边或弧;边或弧;第4页/共135页例:图例:图8-18-1v1v2v3v4v1v2v4v5v3(a a)有向图)有向图G G1 1(b b)无向图)无向图G G2 2 图图8.18.1(b b)表示的是无向图)表示的是无向图GG2 2,该图的顶点集和边集分别
6、为:,该图的顶点集和边集分别为:V V(GG2 2)=v=v1 1,v v2 2,v v3 3,v v4 4,v v5 5 E E(GG2 2)=(v vl l,v v2 2),(v v1 1,v v3 3),(v v1 1,v v4 4),(v v2 2,v v3 3),(v v2 2,v v5 5),(v v4 4,v v5 5)无序对无序对(v(vi i,v,vj j):用连接顶点用连接顶点v vi i、v vj j的线段的线段表示,称为无向边;表示,称为无向边;第5页/共135页在以后的讨论中,我们约定:在以后的讨论中,我们约定:(1 1)一一条条边边中中涉涉及及的的两两个个顶顶点点必
7、必须须不不相相同同,即即:若若(v vi i,v vj j)或或v 是是E E(GG)中的一条边,则要求)中的一条边,则要求v vi ivvj j;(2 2)一对顶点间不能有相同方向的两条有向边;)一对顶点间不能有相同方向的两条有向边;(3 3)一对顶点间不能有两条无向边,即只讨论简单的图。)一对顶点间不能有两条无向边,即只讨论简单的图。第6页/共135页若用若用n n表示图中顶点的数目,用表示图中顶点的数目,用e e表示图中边的数目,按照上述规定,容易得表示图中边的数目,按照上述规定,容易得到下述结论:对于一个具有到下述结论:对于一个具有n n个顶点的无向图,其边数个顶点的无向图,其边数e
8、e小于等于小于等于n n(n-1n-1)/2/2,边数恰好等于边数恰好等于n n(n-1n-1)/2/2的无向图称为的无向图称为无向完全图无向完全图;对于一个具有;对于一个具有n n个顶点的有个顶点的有向图,其边数向图,其边数e e小于等于小于等于n n(n-1n-1),边数恰好等于),边数恰好等于n n(n-1n-1)的有向图称为)的有向图称为有向完有向完全图全图。也就是说完全图具有最多的边数,任意一对顶点间均有边相连。也就是说完全图具有最多的边数,任意一对顶点间均有边相连。二、完全图第7页/共135页例:图例:图8-28-2v1v2v3v4v1v2v3v4(a a)无向完全图)无向完全图G
9、G3 3(b b)有向完全图)有向完全图GG4 4 图图8.28.2所示的所示的GG3 3与与GG4 4分别是具有分别是具有4 4个顶点的无向完全图和有向完全图。图个顶点的无向完全图和有向完全图。图GG3 3共共有有4 4个顶点个顶点6 6条边;图条边;图GG4 4共有共有4 4个顶点个顶点1212条边。条边。若(若(v vi i,v vj j)是一条无向边,则称顶点)是一条无向边,则称顶点v vi i和和v vj j互为邻接点互为邻接点。第8页/共135页若若v 是一条有向边,则称是一条有向边,则称v vi i邻接到邻接到v vj j,v vj j邻接于邻接于v vi i,并称有向边,并称有
10、向边v 关联于关联于v vi i与与v vj j,或称有向边,或称有向边v 与顶点与顶点v vi i和和v vj j相关联。相关联。三、度、入度、出度在图中,一个顶点的在图中,一个顶点的度度就是与该顶点相关联的边的数目,顶点就是与该顶点相关联的边的数目,顶点v v的度记为的度记为D D(v v)。例如在图)。例如在图8.28.2(a a)所示的无向图)所示的无向图GG3 3中,各顶点的度均为中,各顶点的度均为3 3。若若GG为有向图,则把以顶点为有向图,则把以顶点v v为终点的边的数目称为顶点为终点的边的数目称为顶点v v的的入度入度,记为,记为IDID(v v);把以顶点);把以顶点v v为
11、始点的边的数目称为为始点的边的数目称为v v的的出度出度,记为,记为ODOD(v v),有向图中),有向图中顶点的度数等于顶点的入度与出度之和,即顶点的度数等于顶点的入度与出度之和,即D D(v v)=ID=ID(v v)+OD+OD(v v)。)。第9页/共135页无无论论有有向向图图还还是是无无向向图图,图图中中的的每每条条边边均均关关联联于于两两个个顶顶点点,因因此此,顶顶点点数数n n、边边数数e e和度数之间有如下关系:和度数之间有如下关系:e=e=.(式(式8-18-1)四、子图给定两个图给定两个图GGi i和和GGj j,其中,其中GGi i=(V Vi i,E Ei i),),
12、GGj j=(V Vj j,E Ej j),若满足),若满足V Vi i V Vj j,E Ei i E Ej j,则称,则称GGi i是是GGj j的的子图子图。第10页/共135页v1v2v4v2v3v4v1v2v3v4v1v4v2v3v4v1v1v3v2v4子图示例子图示例(a a)无向图)无向图GG3 3的部分子图的部分子图(b b)有向图)有向图GG4 4的部分子图的部分子图 第11页/共135页五、路径 无无向向图图GG中中若若存存在在着着一一个个顶顶点点序序列列v v、v v1 1、v v2 2、v vmm、u u,且且(v v,v v1 1)、(v v1 1,v v2 2)、(
13、v vmm,u u)均均属属于于E E(GG),则则称称该该顶顶点点序序列列为为顶顶点点v v到到顶顶点点u u的的一一条条路路径径,相相应应地地,顶顶点点序序列列u u、v vmm、v vm-1m-1、v v1 1、v v是是顶顶点点u u到到顶顶点点v v的的一一条条路路径。径。如如果果GG是是有有向向图图,路路径径也也是是有有向向的的,它它由由E E(GG)中中的的有有向向边边v、v、vu组成。组成。路径长度路径长度是该路径上边或弧的数目。是该路径上边或弧的数目。第12页/共135页如果一条路径上除了起点如果一条路径上除了起点v v和终点和终点u u相同外,其余顶点均不相同,则称此路径相
14、同外,其余顶点均不相同,则称此路径为一条为一条简单路径简单路径。起点和终点相同(。起点和终点相同(v=uv=u)的简单路径称为)的简单路径称为简单回路简单回路或或简单环简单环。六、连通图与强连通图在无向图在无向图GG中,若从顶点中,若从顶点v vi i到顶点到顶点v vj j有路径,则称有路径,则称v vi i与与v vj j是连通的。若是连通的。若V V(GG)中任意两个不同的顶点)中任意两个不同的顶点v vi i和和v vj j都连通(即有路径),则称都连通(即有路径),则称GG为为连通图连通图。例。例如,图如,图8.18.1(b b)所示的无向图)所示的无向图GG2 2、图、图8.28.
15、2(a a)所示的无向图)所示的无向图GG3 3是都是连通图。是都是连通图。无向图无向图GG的极大连通子图称为的极大连通子图称为GG的的连通分量连通分量。根据连通分量的定义,可知。根据连通分量的定义,可知任何连通图的连通分量是其自身,非连通的无向图有多个连通分量。任何连通图的连通分量是其自身,非连通的无向图有多个连通分量。第13页/共135页例:非连通图及其连通分量示例例:非连通图及其连通分量示例(a a)非连通图)非连通图GG5 5(b b)GG5 5的两个连通分量的两个连通分量H H1 1和和H H2 2在有向图在有向图GG中,若对于中,若对于V V(GG)中任意两个不同的顶点)中任意两个
16、不同的顶点v vi i和和v vj j,都存在从,都存在从v vi i到到v vj j以以及从及从v vj j到到v vi i的路径,则称的路径,则称GG是是强连通图。强连通图。V1V2V4V5V3V1V2V4V5V3第14页/共135页有向图的极大强连通子图称为有向图的极大强连通子图称为GG的强连通分量。根据强连通图的定义,可的强连通分量。根据强连通图的定义,可知强连通图的唯一强连通分量是其自身,而非强连通的有向图有多个强连分量。知强连通图的唯一强连通分量是其自身,而非强连通的有向图有多个强连分量。例如,图例如,图8.28.2(b b)所示的有向图)所示的有向图GG4 4是一个具有是一个具有
17、4 4个顶点的强连通图,图个顶点的强连通图,图8.58.5(a a)所示的有向图)所示的有向图GG6 6不是强连通图(不是强连通图(v v2 2、v v3 3、v v4 4没有到达没有到达v v1 1的路径),它的路径),它的两个强连通分量的两个强连通分量H H3 3与与H H4 4如图如图8.58.5(b b)所示。)所示。v v1 1v v2 2v v3 3v v4 4v v1 1v v2 2v v3 3v v4 4(a a)非强连通图)非强连通图GG6 6(b b)GG6 6的两个强连通分量的两个强连通分量H H3 3和和H H4 4 第15页/共135页七、网络有时在图的每条边上附上相
18、关的数值,这种与图的边相关的数值叫有时在图的每条边上附上相关的数值,这种与图的边相关的数值叫权权。权可以表示两个顶点之间的距离、耗费等具有某种意义的数。若将图的每权可以表示两个顶点之间的距离、耗费等具有某种意义的数。若将图的每条边都赋上一个权,则称这种带权图为网络。条边都赋上一个权,则称这种带权图为网络。V0V1V3V234567825V0V2V1455064(a a)无向网络)无向网络GG7 7(b b)有向网络)有向网络GG8 8第16页/共135页作业:作业:8.18.1对于无向图对于无向图8.298.29,试给出,试给出(1 1)图中每个顶点的度;)图中每个顶点的度;(2 2)该图的邻
19、接矩阵;)该图的邻接矩阵;(4 4)该图的连通分量。)该图的连通分量。v0v3v4v2v1v5v6图图8.298.29无向图无向图第17页/共135页8.2 8.2 给定有向图给定有向图8.308.30,试给出,试给出(1 1)顶点)顶点D D的入度与出度;的入度与出度;(2 2)该图的出边表与入边表;)该图的出边表与入边表;(3 3)该图的强连通分量。)该图的强连通分量。ABCDE图图8.308.30有向图有向图第18页/共135页8.2图的基本运算 图图是是一一种种复复杂杂数数据据结结构构,由由图图的的定定义义及及图图的的一一组组基基本本操操作作构构成成了了图图的的抽抽象象数数据据类类型。
20、型。ADTGraphADTGraph数据对象数据对象V V:V V是具有相同特性的数据元素的集合,称为顶点集。是具有相同特性的数据元素的集合,称为顶点集。数据关系数据关系R R:R=vR=|vw|v,w w V V且且P P(v v,w w),),P P(v v,w w)定义了边(或弧)()定义了边(或弧)(v v,w w)的信息)的信息 第19页/共135页图的基本操作如下:图的基本操作如下:(1 1)creatgraphcreatgraph(&g&g)创建一个图的存储结构。创建一个图的存储结构。(2 2)insertvertexinsertvertex(&g&g,v v)在图在图g g中增
21、加一个顶点中增加一个顶点v v。(3 3)deletevertexdeletevertex(&g&g,v v)在图在图g g中删除顶点中删除顶点v v及所有和顶点及所有和顶点v v相关联的边或弧。相关联的边或弧。(4 4)insertedgeinsertedge(&g&g,v v,u u)在图在图g g中增加一条从顶点中增加一条从顶点v v到顶点到顶点u u的边或弧。的边或弧。(5 5)deleteedgedeleteedge(&g&g,v v,u u)在图在图g g中删除一条从顶点中删除一条从顶点v v到顶点到顶点u u的边或弧。的边或弧。第20页/共135页(6 6)travetrave(
22、g g)遍历图遍历图g g。(7 7)locatevertexlocatevertex(g g,v v)求顶点求顶点v v在图在图g g中的位序。中的位序。(8 8)fiirstvertexfiirstvertex(g g,v v)求图求图g g中顶点中顶点v v的第一个邻接点。的第一个邻接点。(9 9)degreedegree(g g,v v)求图求图g g中顶点中顶点v v的度数。的度数。(1010)nextvertexnextvertex(g g,v v,w w)求求图图g g中中与与顶顶点点v v相相邻邻接接的的顶顶点点w w的的下下一一个个邻邻接接点点。即求图即求图g g中顶点中顶点
23、v v的某个邻接点,它的存储顺序排在邻接点的某个邻接点,它的存储顺序排在邻接点w w的存储位置之后。的存储位置之后。ADTGraphADTGraph第21页/共135页8.3图的基本存储结构 图的存储结构至少要保存两类信息:图的存储结构至少要保存两类信息:1)1)顶点的数据顶点的数据 2)2)顶点间的关系顶点间的关系约定约定:G=G=是图是图,V=v,V=v0 0,v,v1 1,v,v2 2,v,vn-1n-1,设顶点的设顶点的角标为它的编号角标为它的编号 如何表示顶点间的关系?如何表示顶点间的关系?V0V0 V4V4 V3V3 V1V1 V2V2 V0V0 V1V1 V2V2 V3V3第22
24、页/共135页8.3.1邻接矩阵及其实现给定图给定图G=G=(V V,E E),其中),其中V V(GG)=v=v0 0,v vi i,v vn-1n-1,GG的邻接矩阵的邻接矩阵(AdacencyMatrixAdacencyMatrix)是具有如下性质的)是具有如下性质的n n阶方阵:阶方阵:无向图的邻接矩阵是对称的,有向图的邻接矩阵可能是不对称的。无向图的邻接矩阵是对称的,有向图的邻接矩阵可能是不对称的。一、非网络的邻接矩阵一、非网络的邻接矩阵第23页/共135页v0v1v3v2v3v1v0v2图的邻接矩阵示例图的邻接矩阵示例01110111101010101101110110101010
25、01000100101010101100110001000100A1=A1=A2=A2=图图8.7 8.7 无向图无向图G G9 9及有向图及有向图G G1010的邻接矩阵表示的邻接矩阵表示 第24页/共135页用邻接矩阵表示图,很容易判定任意两个顶点之间是否有边相连,并求得用邻接矩阵表示图,很容易判定任意两个顶点之间是否有边相连,并求得各个顶点的度数。对于无向图,顶点各个顶点的度数。对于无向图,顶点v vi i的度数是邻接矩阵中第的度数是邻接矩阵中第i i行或第行或第i i列值为列值为1 1的元素个数,即:的元素个数,即:D D(v vi i)=(8-28-2)对于有向图,邻接矩阵中第对于有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图的基本概念 基本概念
限制150内