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