第13章 图 计算机软件技术知识基础教程 .ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 图 计算机软件技术知识基础教程 .ppt

13.1 图的基本概念 13.2 图的存储方法 13.3 图的遍历 13.4 生成树和最小生成树 13.5 最短路径 13.6 拓扑排序 13.7 关键路径 ;第13章 图; V(G1)={ A, B, C } E(G1)={ A, B, B, A, B, C, A, C } 若G中的每条边是无方向的,则称G为无向图。这时两个顶点之间最多只存在一条边。无向图用两个顶点组成的无序对表示,记为:(顶点1,顶点2)。图13.1(b)给出了一个无向图的示例。该图的顶点集和边集分别为 V(G2)={ A, B, C } E(G2)={(A, B), (B, C), (C, A)}={(B, A), (C, B), (A, C)} 在下面的讨论中,我们不考虑顶点到其自身的边,也不允许一条边在图中重复出现,如图13.2所示。在以上两条的约束下,则边和顶点之间存在以下的关系:;图13.2 本章中不考虑的图例; 在无向图中关联于某一顶点vi的边的数目称为vi的度,记为D(vi)。例如图13.1(b)中的顶点A的度为2 。在有向图中,把以顶点vi为终点的边的数目称为vi的入度,记为ID(vi);把以顶点vi为起点的边的数目称为vi的出度,记为OD(vi);把顶点vi的度定义为该顶点的入度和出度之和。例如图13.1(a)中顶点A的入度为1,出度为2,度为3。 如果图G中有n个顶点,e条边,且每个顶点的度为D(vi)(1≤i≤n),则存在以下关系: 在一个图中,如果图的边或弧具有一个与它相关的数时,这个数就称为该边或弧的权,这个数常用来表示一个顶点到另一个顶点的距离或耗费。如果图中的每条边都具有权时,这个带权图被称为网络,简称为网。图13.4给出了一个网络示例。;图13.4 网络示例; 在一个图中,若从顶点v1出发,沿着一些边经过顶点v1, v2, …, vn-1到达顶点vn,则称顶点序列(v1, v2, …, vn-1, vn)为从v1到vn的一条路径。 例如在图13.1(b)中,(A, B, C)是一条路径。而在图13.1(a)中,(A, C, B)就不是一条路径。将无权图沿路径所经过的边数称为该路径的长度。而对有权图,则取沿路径各边的权之和作为此路径的长度。在图13.4中顶点1到顶点4的路径长度为8。 若路径中的顶点不重复出现,则这条路径被称为简单路径。起点和终点相同并且路径长度不小于2的简单路径被称为简单回路或者简单环。例如图13.1(b)的无向图中顶点序列(A, B, C)是一条简单路径,而(A, B, C, A)则是一个简单环。; 在一个有向图中,若存在一个顶点v,从该顶点有路径可到达图中其他的所有顶点,则称这个有向图为有根图,v称为该图的根。例如图13.1(a)就是一个有根图,该图的根是A和B。 在无向图G中,若顶点vi和vj (i≠j)有路径相通,则称vi和vj是连通的。如果V(G)中的任意两个顶点都连通,则称G是连通图,否则为非连通图。例如图13.1(b)就是一个连通图。 无向图G中的极大连通子图称为G的连通分量。对任何连通图而言,连通分量就是其自身,对非连通图可有多个连通分量。图13.5给出了一个无向图和它的两个连通分量。 在有向图G中,若从vi到vj(i≠j)、从vj到vi都存在路径,则称vi和vj是强连通的。;图13.5 无向图及其连通分量; 若有向图V(G)中的任意两个顶点都是强连通的,则称该图为强连通图。有向图中的极大连通子图称作有向图的强连通分量。例如图13.1(a)中的顶点A和B是强连通的,但该有向图不是一个强连通图。 ;13.2 图的存储方法 ;图13.6 有向图G1和无向图G2示例 ; 在无向图的邻接矩阵中,行或列中的非零元素个数等于对应的顶点的度数;在有向图中,每行非零元素的个数对应于该顶点的出度,每列非零元素的个数对应于该顶点的入度。 对于网络,邻接矩阵元素A[i, j]可按以下规则取值: 0≤i, j≤n-1;图13.4中的网络的邻接矩阵为 ;typedef struct { vextype vexs[n]; /* 顶点数组 */ adjtype arcs[n][n]; /* 邻接矩阵 */ } graph; 利用上述类型说明可以给一个无向网络邻接矩阵的建立算法: CREATGRAPH(graph ?g )

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档