数据结构第6章_图(g)辩析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
路径长度: 路径长度: 回路(环):第一个顶点和最后一个顶点相同的路径。 简单路径:序列中顶点不重复出现的路径。 简单回路(简单环):除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路。 template class T MGraph::MGraph(T a[ ], int n, int e) { vertexNum=n; arcNum=e; for (i=0; ivertexNum; i++) vertex[i]=a[i]; for (i=0; ivertexNum; i++) //初始化邻接矩阵 for (j=0; jvertexNum; j++) arc[i][j]=0; for (k=0; karcNum; k++) //依次输入每一条边 { cinij; //边依附的两个顶点的序号 arc[i][j]=1; arc[j][i]=1; //置有边标志 } } for (k=0; kG.vertexNum; k++) ????????for (i=0; iG.vertexNum; i++) ???????? for (j=0; jG.vertexNum; j++) ???????? if (dist[i][k]+dist[k][j]dist[i][j]) { ???????? dist[i][j]=dist[i][k]+dist[k][j]; ???????? path[i][j]=path[i][k]+path[k][j]; } } 首先计算以下与关键活动有关的量: 基本思想:对于从vi到vj的弧,进行n次试探:首先考虑路径vi,v0,vj是否存在,如果存在,则比较vi,vj和vi,v0,vj的路径长度,取较短者为从vi到vj的中间顶点的序号不大于0的最短路径。在路径上再增加一个顶点v1,依此类推,在经过n次比较后,最后求得的必是从顶点vi到顶点vj的最短路径。 Floyd算法 应用举例——最短路径 0 4 11 6 0 2 3 ∞ 0 有向网图 邻接矩阵 Floyd算法 应用举例——最短路径 a c b 3 4 6 11 2 Floyd算法 应用举例——最短路径 a c b 3 4 6 11 2 dist-1 = 0 4 11 6 0 2 3 ∞ 0 path-1 = ab ac ba bc ca 初始化 Floyd算法 应用举例——最短路径 a c b 3 4 6 11 2 dist-1 = 0 4 11 6 0 2 3 ∞ 0 path-1 = ab ac ba bc ca 第1次迭代 dist0 = 0 4 11 6 0 2 3 7 0 path0 = ab ac ba bc ca cab Floyd算法 应用举例——最短路径 a c b 3 4 6 11 2 第2次迭代 dist0 = 0 4 11 6 0 2 3 7 0 path0 = ab ac ba bc ca cab dist1 = 0 4 6 6 0 2 3 7 0 path1 = ab abc ba bc ca cab Floyd算法 应用举例——最短路径 a c b 3 4 6 11 2 第3次迭代 dist2 = 0 4 6 5 0 2 3 7 0 path2 = ab abc bca bc ca cab dist1 = 0 4 6 6 0 2 3 7 0 path1 = ab abc ba bc ca cab 图的存储结构:带权的邻接矩阵存储结构 数组dist[n][n]:

文档评论(0)

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

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

1亿VIP精品文档

相关文档