第十二章 图优秀PPT.ppt
《第十二章 图优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第十二章 图优秀PPT.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十二章第十二章 图图第一页,本课件共有77页12.2 2006图n n 图的一些专有名词图的一些专有名词n n 图数据结构表示法图数据结构表示法n n 图的遍历图的遍历n n 最小生成树最小生成树n n 拓扑排序拓扑排序n n 关键路径法关键路径法第二页,本课件共有77页12.3 2006图结构示意图n n 图结构示意图图结构示意图图图12-3 12-3 图结构示意图图结构示意图 第三页,本课件共有77页12.4 2006图的一些专有名词(1)n n 顶点顶点顶点顶点(vertexvertex):-图图12-312-3中的圆圈称为顶点。中的圆圈称为顶点。n n 边(边(边(边(edge ed
2、ge):):):):-每个顶点之间的连线称为边。每个顶点之间的连线称为边。n n 无向图(无向图(无向图(无向图(undirected graph undirected graph):):):):-在边上没有箭头的图称为无向图,如图在边上没有箭头的图称为无向图,如图12-312-3中中GIGI和和G2G2为无向为无向 图。图。n n 有向图(有向图(有向图(有向图(directed graph directed graph directed graph directed graph):):):):-在边上有箭头的图称为有向图,如图在边上有箭头的图称为有向图,如图12-312-3中中G3G3为有
3、向图。为有向图。n n 图(图(图(图(graph graph graph graph):):):):-图是由所有顶点和所有边组合而成的,以图是由所有顶点和所有边组合而成的,以G=(V,E)G=(V,E)表示。表示。第四页,本课件共有77页12.5 2006图的一些专有名词(2)n n 多重图(多重图(多重图(多重图(mutigraph mutigraph mutigraph mutigraph):):):):-假如两个顶点有多条相同的边,则称之为多重图,而不是假如两个顶点有多条相同的边,则称之为多重图,而不是 图形。图形。n n 完全图(完全图(完全图(完全图(complete graph
4、complete graph complete graph complete graph):):):):-在在n n个顶点的无向图中,假如有个顶点的无向图中,假如有n(n-1)/2n(n-1)/2个边,则这样的个边,则这样的 图称为完全图。图称为完全图。n n 邻接(邻接(邻接(邻接(adjacent adjacent adjacent adjacent):):):):-在图的某一边在图的某一边(V V1 1,V,V2 2)中,称顶点中,称顶点V V1 1与顶点与顶点V V2 2是邻接的,但是邻接的,但 在有向图中称在有向图中称 为为V V1 1是邻接到是邻接到V V2 2或或V V2 2邻接
5、自邻接自V V1 1。第五页,本课件共有77页12.6 2006图的一些专有名词(3)n n 依附(依附(依附(依附(incidentincidentincidentincident):):):):-在图在图12-312-3中,顶点中,顶点V V1 1和顶点和顶点V V2 2是邻接的,而边是邻接的,而边(V V1 1,V,V2 2)依附依附 在顶点在顶点V V1 1与与V V2 2顶点上。可以发现在顶点上。可以发现在G3G3中依附在顶点中依附在顶点V V2 2的的 边有边有、及及。n n 子图(子图(子图(子图(subgraphsubgraphsubgraphsubgraph):):):):-
6、假使假使V(GV(G)V(G)V(G)及及E(GE(G)E(G)E(G),则称则称G G 是是G G的子图。的子图。n n 路径(路径(路径(路径(pathpathpathpath):):):):-在图在图G G中,从顶中,从顶V Vp p到顶点到顶点V Vq q的路径是指一系列的顶点的路径是指一系列的顶点V Vp p、V Vi1i1、V Vi2i2、V Vinin、V Vq q,其中其中(V Vp p,V,Vi1i1)、(V(Vi1i1,V,Vi2i2)、(V(Vinin,V,Vq q)是是 E(G)E(G)上的边。上的边。第六页,本课件共有77页12.7 2006图的一些专有名词(4)n
7、n 长度(长度(长度(长度(lengthlengthlengthlength):):):):-一条路径上的长度是指该路径上所有边的数目。一条路径上的长度是指该路径上所有边的数目。n n 简单路径(简单路径(简单路径(简单路径(simple pathsimple pathsimple pathsimple path):):):):-除头尾顶点之外,其余顶点都在不相同的路径上。如图除头尾顶点之外,其余顶点都在不相同的路径上。如图12-312-3 中,中,G1G1的两条路径的两条路径1 1、2 2、4 4、3 3和和1 1、2 2、4 4、2 2,其长度都为,其长度都为3 3,但前者是简单路径,而后
8、者不是简单路径。但前者是简单路径,而后者不是简单路径。n n 回路或环(回路或环(回路或环(回路或环(cyclecyclecyclecycle):):):):-指第一个顶点和最后一个顶点相同的简单路径。指第一个顶点和最后一个顶点相同的简单路径。n n 连通(连通(连通(连通(connectedconnectedconnectedconnected):):):):-在一个图在一个图G G中,如果有一条路径从中,如果有一条路径从V V1 1到到V V2 2,那么就说那么就说V V1 1与与V V2 2是是 连通的。连通的。第七页,本课件共有77页12.8 2006图的一些专有名词(5)n n 连通
9、分量(连通分量(连通分量(连通分量(connected componentconnected componentconnected componentconnected component):):):):-或称分量(或称分量(componentcomponent)是指该图中最大的连通子图是指该图中最大的连通子图 (maximal connected subgraphmaximal connected subgraph)。)。n n 强连通(强连通(强连通(强连通(strongly connectedstrongly connectedstrongly connectedstrongly con
10、nected):):):):-在一个有向图中如果在一个有向图中如果V(G)V(G)中的每一对不同顶点中的每一对不同顶点V Vi i、V Vj j各有一条各有一条 从从V Vi i到到V Vj j及从及从V Vj j到到V Vi i的有向路径,则称此有向图是强连通的。的有向路径,则称此有向图是强连通的。n n 强连通分量(强连通分量(强连通分量(强连通分量(strongly connected componentstrongly connected componentstrongly connected componentstrongly connected component):):):):-
11、是指一个强连通最大子图。是指一个强连通最大子图。第八页,本课件共有77页12.9 2006图的一些专有名词(6)n n 度(度(度(度(degreedegreedegreedegree):):):):-依附在顶点的边数。若为有向图,则其度为入度与出度之和。依附在顶点的边数。若为有向图,则其度为入度与出度之和。n n 入度(入度(入度(入度(in-degreein-degreein-degreein-degree):):):):-顶点顶点V V的入度是指以的入度是指以V V为终点(即箭头指向为终点(即箭头指向V V)的边数。的边数。n n 出度(出度(出度(出度(out-degreeout-de
12、greeout-degreeout-degree):):):):-顶点顶点V V的出度是以的出度是以V V为起点的边数。为起点的边数。第九页,本课件共有77页12.10 2006图数据结构表示法 n n 图的数据结构表示法常用的有下列两种:图的数据结构表示法常用的有下列两种:(1 1 1 1)邻接矩阵()邻接矩阵()邻接矩阵()邻接矩阵(adjacency matrixadjacency matrixadjacency matrixadjacency matrix):邻接矩阵是将图中的邻接矩阵是将图中的n n个顶点(个顶点(verticesvertices)以一个以一个nnnn的二的二 维矩阵
13、来表示,其中每一元素维矩阵来表示,其中每一元素V Vijij若为若为1 1,表示图中,表示图中V Vi i与与V Vj j有有 一条边为一条边为(V Vi i,V,Vj j),假如是有向图,表示有一条边为假如是有向图,表示有一条边为 。V Vijij=0=0表示顶点表示顶点I I与顶点与顶点j j没有边存在。没有边存在。(2 2 2 2)邻接表()邻接表()邻接表()邻接表(adjacency listadjacency listadjacency listadjacency list):):):):邻接表是将图中的每个顶点都形成表头,而在每个表头的节邻接表是将图中的每个顶点都形成表头,而在每
14、个表头的节 点表示它们之间有边存在。点表示它们之间有边存在。第十页,本课件共有77页12.11 2006邻接矩阵 n n 邻接矩阵是对称性的,而且对角线都为零,所以图中邻接矩阵是对称性的,而且对角线都为零,所以图中 只需要储存上三角形或下三角形即可,所需储存空间只需要储存上三角形或下三角形即可,所需储存空间 为为n(n-1)/2n(n-1)/2。n n 邻接矩阵表示法邻接矩阵表示法:图图G5G5示意图示意图 G5G5的邻接矩阵表示法的邻接矩阵表示法 第十一页,本课件共有77页12.12 2006图中顶点度的计算n n假假如如要要求求图图中中某某一一顶顶点点邻邻接接边边的的数数目目(即即度度),
15、只只要要计计算邻接矩阵中某一列所有算邻接矩阵中某一列所有1 1之和或某一行所有之和或某一行所有1 1之和。之和。n n在在有有向向图图的的邻邻接接矩矩阵阵中中,列列的的和和表表示示顶顶点点的的出出度度,行行的的和和表表示顶点的入度。示顶点的入度。无向图节点度的计算方法无向图节点度的计算方法 有向图节点度的计算方法有向图节点度的计算方法 第十二页,本课件共有77页12.13 2006邻接表(1)n n邻接表的表示法:邻接表的表示法:顶点顶点1 1顶点顶点2 2顶点顶点3 3顶点顶点4 4顶点顶点5 5顶点顶点6 6顶点顶点7 7顶点顶点8 8图图G5G5示意图示意图 G5G5的邻接表表示法的邻接
16、表表示法 第十三页,本课件共有77页12.14 2006邻接表(2)n n从从邻邻接接表表中中知知某某一一顶顶点点的的度度,由由此此顶顶点点表表头头后后有有n n个个节节点点便便可可计计算算出来。出来。n n在有向图中,每个表头后面的节点数表示此顶点的出度数目。在有向图中,每个表头后面的节点数表示此顶点的出度数目。n n在在有有向向图图中中若若要要求求入入度度的的数数目目,则则必必须须把把邻邻接接矩矩阵阵变变成成相相反反的的邻邻接接表表。步步骤骤如下:如下:-先把邻接矩阵变为转置矩阵(先把邻接矩阵变为转置矩阵(transpose matrixtranspose matrix),如图所示。),如
17、图所示。-再把转置矩阵变为邻接表,如图所示。再把转置矩阵变为邻接表,如图所示。顶点顶点1 1顶点顶点2 2顶点顶点3 3G3G3的邻接矩阵的转置矩阵的邻接矩阵的转置矩阵 G3G3的邻接矩阵的转置矩阵对应的邻接矩阵的转置矩阵对应的邻接表的邻接表 第十四页,本课件共有77页12.15 2006图的遍历n n图的遍历是从图的某一顶点开始,访问图的其他顶点。图的遍历是从图的某一顶点开始,访问图的其他顶点。n n图的遍历只用在:图的遍历只用在:(1 1)判断此图是不是连通;)判断此图是不是连通;(2 2)找出此图的连通分量;)找出此图的连通分量;(3 3)画出此图的最小生成树()画出此图的最小生成树(s
18、panning treespanning tree)。)。n n图的遍历有两种方法:图的遍历有两种方法:深度优先搜索和广度优先搜索。深度优先搜索和广度优先搜索。第十五页,本课件共有77页12.16 2006深度优先搜索n n深度优先搜索(深度优先搜索(depth first searchdepth first search)-深度优先搜索是以堆栈(深度优先搜索是以堆栈(stackstack)方式来操作的。)方式来操作的。n n图的深度优先搜索的过程是:图的深度优先搜索的过程是:(1 1)先访问起始点)先访问起始点V V;(2 2)然后选择与)然后选择与V V邻接而未被访问的顶点邻接而未被访问的
19、顶点W W,以,以W W为起始点做深度优为起始点做深度优 先搜索;先搜索;(3 3)假使某一顶点其邻接的顶点都被访问过时,就退回到最近曾)假使某一顶点其邻接的顶点都被访问过时,就退回到最近曾 访问的顶点,如果其尚有未被访问过的邻接顶点,继续做深访问的顶点,如果其尚有未被访问过的邻接顶点,继续做深 度优先搜索;度优先搜索;(4 4)假若从任何已访问过的顶点,都无法再找到未被访问过的邻)假若从任何已访问过的顶点,都无法再找到未被访问过的邻 接顶点时,此时搜索结束。接顶点时,此时搜索结束。第十六页,本课件共有77页12.17 2006深度优先搜索操作步骤n n比如有一个图比如有一个图A A如图如图1
20、2-2212-22所示。所示。图图12-22 12-22 图图A A示意图示意图 第十七页,本课件共有77页12.18 2006深度优先搜索操作步骤(续1)(1 1)先输出)先输出V V1 1(V V1 1为起点)。为起点)。(2 2)将)将V V1 1的邻接顶点的邻接顶点V V2 2及及V V3 3放入堆栈中,如图放入堆栈中,如图12-2312-23所示。所示。(3 3)弹出堆栈的第一个顶点)弹出堆栈的第一个顶点V V2 2,然后将,然后将V V2 2的邻接顶点的邻接顶点V V1 1、V V4 4及及V V5 5推入到堆栈,如图推入到堆栈,如图12-2412-24所示。所示。图图12-23
21、12-23 执执行行完完第第(2 2)的的堆堆栈栈状态图状态图 图图12-24 12-24 执执行行完完第第(3 3)后后的的堆堆栈状态图栈状态图 第十八页,本课件共有77页12.19 2006深度优先搜索操作步骤(续2)(4 4)弹出)弹出V V1 1,由于,由于V V1 1己被输出,故再弹出己被输出,故再弹出V V4 4,将,将V V4 4的邻接的邻接 顶点顶点V V2 2及及V V8 8放入堆栈,如图放入堆栈,如图12-2512-25所示。所示。(5 5)弹出)弹出V V2 2,由于,由于V V2 2已被输出过,故再弹出已被输出过,故再弹出V V8 8,再将,再将V V8 8的的 邻接顶
22、点邻接顶点V V4 4、V V5 5及及V V1010放入堆栈,如图放入堆栈,如图12-2612-26所示。所示。(6 6)弹出)弹出V V4 4,由于已输出过,故弹出,由于已输出过,故弹出V V5 5,然后将,然后将V V5 5的邻接的邻接 顶点顶点V V2 2及及V V8 8放入堆栈,如图放入堆栈,如图12-2712-27所示。所示。(7 7)弹出)弹出V V2 2及及V V8 8,由于这两个顶点已被输出过,故弹出,由于这两个顶点已被输出过,故弹出V V1010,再将,再将V V1010的邻接点的邻接点V V8 8及及V V9 9放入堆栈,如图放入堆栈,如图12-12-2828所示。所示。
23、第十九页,本课件共有77页12.20 2006深度优先搜索操作步骤(续3)图图12-25 12-25 执行完执行完第(第(4 4)后的堆)后的堆栈状态图栈状态图 图图12-26 12-26 执行完执行完第(第(5 5)后的)后的堆栈状态图堆栈状态图 图图12-27 12-27 执行执行完第(完第(6 6)后的)后的堆栈状态图堆栈状态图 图图12-28 12-28 执行完执行完第(第(7 7)后的)后的堆栈状态图堆栈状态图 第二十页,本课件共有77页12.21 2006深度优先搜索操作步骤(续4)n n(8 8)弹出)弹出V V8 8,此顶点已被输出故弹出此顶点已被输出故弹出V V9 9,将将V
24、 V9 9的邻的邻 接顶点接顶点V V6 6、V V7 7及及V V1010放入堆栈,如图放入堆栈,如图12-2912-29所示。所示。n n(9 9)弹出)弹出V V6 6,再将再将V V6 6的邻接顶点的邻接顶点V V3 3及及V V9 9放入堆栈,放入堆栈,如图如图12-3012-30所示。所示。图图12-29 12-29 执行完执行完第(第(8 8)后的堆栈状态图)后的堆栈状态图 图图12-30 12-30 执执行行完完第第(9 9)后后的的堆栈状态图堆栈状态图 第二十一页,本课件共有77页12.22 2006深度优先搜索操作步骤(续5)(1010)弹出)弹出V V3 3,将将V V1
25、 1与与V V7 7放入堆栈,如图放入堆栈,如图12-3112-31所示。所示。(1111)弹出)弹出V V1 1,此顶点已输出故弹出此顶点已输出故弹出V V7 7,再将再将V V3 3及及V V9 9放入放入 堆栈,如图堆栈,如图12-3212-32所示。所示。图图12-31 12-31 执执行行完完第第(1010)后后的的堆栈状态图堆栈状态图 图图12-32 12-32 执执行行完完第第(1111)后后的的堆栈状态图堆栈状态图 第二十二页,本课件共有77页12.23 2006深度优先搜索操作步骤(续6)(1212)最后弹出)最后弹出V V3 3、V V9 9、V V9 9、V V7 7、v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十二章 图优秀PPT 第十二 优秀 PPT
限制150内