- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 假设有向图G=(V,E)采用邻接矩阵cost存储,另外设置一个二维数组A用于存放当前顶点之间的最短路径长度,分量A[i][j]表示当前顶点vi到顶点vj的最短路径长度。 弗洛伊德算法的基本思想: 递推产生一个矩阵序列A0,A1,…,Ak,…,An 其中Ak[i][j]表示从顶点vi到顶点vj的路径上所经过的顶点编号不大于k的最短路径长度。 初始时,有A-1[i][j]=cost[i][j] * 当求从顶点vi到顶点vj的路径上所经过的顶点编号不大于k+1的最短路径长度时,要分两种情况考虑: 一种情况是该路径不经过顶点编号为k+1的顶点,此时该路径长度与从顶点vi到顶点vj的路径上所经过的顶点编号不大于k的最短路径长度相同; 另一种情况是从顶点vi到顶点vj的最短路径上经过编号为k+1的顶点。 * Ak+1[i,j]=MIN(Ak[i,j],Ak[i,k+1]+Ak[k+1,j] * 该路径可分为两段: (1) 从顶点vi到顶点vk+1的最短路径; (2) 从顶点vk+1到顶点vj的最短路径。 此时最短路径长度等于这两段路径长度之和。这两种情况中的较小值,就是所要求的从顶点vi到顶点vj的路径上所经过的顶点编号不大于k+1的最短路径。 弗洛伊德思想可用如下的表达式来描述: A-1[i][j]=cost[i][j] Ak+1[i][j]=MIN{ Ak[i][j], Ak[i][k+1]+Ak[k+1][j] } (0≤k≤n-1) * 设G=(V,E)是一个具有n个顶点的有向图,V中顶点序列v1,v2,…,vn称为一个拓扑序列,当且仅当该顶点序列满足下列条件: 若vi,vj是图中的边(即从顶点vi到vj有一条路径),则在序列中顶点vi必须排在顶点vj之前。 在一个有向图中找一个拓扑序列的过程称为拓扑排序。 对有向图进行拓扑排序,可检查有向图中是否存在回路。 8.6 拓扑排序 * 课程代号 课程名称 先修课程 C1 高等数学 无 C2 程序设计 无 C3 离散数学 C1 C4 数据结构 C2,C3 C5 编译原理 C2,C4 C6 操作系统 C4,C7 C7 计算机组成原理 C2 例如,计算机专业的学生必须完成一系列规定的基础课和专业课才能毕业。 课程之间的先后关系 可用有向图表示: 拓扑序列1:C1-C3-C2-C4-C7-C6-C5 拓扑序列2:C2-C7-C1-C3-C4-C5-C6 按照任何一个拓扑序列都可以顺序地进行课程学习。 * 拓扑排序方法如下: (1) 从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它。 (2) 从网中删去该顶点,并且删去从该顶点发出的全部有向边。 (3) 重复上述两步,直到剩余的网中不再存在没有前驱的顶点为止。若此时网不空,表明网中有环。 * a b c g h d f e a b h c d g f e 一个AOV-网的拓扑排序 * 为了实现拓扑排序的算法,对于给定的有向图,采用邻接表作为存储结构,为每个顶点设立一个链表,每个链表有一个表头结点,表头结点中增加一个存放顶点入度的域count。 即将邻接表定义中的VNode类型修改如下: typedef struct /*表头结点类型*/ { Vertex data; /*顶点信息*/ int count; /*存放顶点入度*/ ArcNode *firstarc; /*指向第一条弧*/ } VNode; * void TopSort(ALGragh *G) { int i,j;int St[MAXV],top=-1; /*栈St的指针为top*/ ArcNode *p; for (i=0;iG-n;i++) G-adjlist[i].count=0; for (i=0;iG-n;i++) { p=G-adjlist[i].firstarc; while(p!=NULL) { G-adjlist[p-adjvex].count++; p=p-nextarc; } } for (i=0;iG-n;i++) if (G-adjlist[i].count==0) /*
您可能关注的文档
- 视频信息的处理.ppt
- 苏教版-小学-语文-五年级-下册-课文《秦兵马俑》多媒体课件.ppt
- Microsoft-Office-PowerPoint-简报技巧之动画及多媒体.ppt
- 多媒体技术基础第3版第3讲话音编码.ppt
- 多媒体CAI课件制作-陇东学院信息工程学院网络教学平台.ppt
- 第六章-多媒体视频信息处理.ppt
- 最大输出功率和效率的计算-赣南师范大学.ppt
- 五年级语文电子计算机与多媒体1.ppt
- 网络信息资源获取.ppt
- 信息技术七年级上人教新课标第5课搜集多媒体素材课件(精).ppt
- 2026年消防设施操作员之消防设备基础知识考试题库500道带答案(新).docx
- 销售岗前培训课件.ppt
- 2026年消防设备操作员考试题库500道(典型题).docx
- 2026年消防设施操作员之消防设备高级技能考试题库300道附答案(实用).docx
- 2026年消防设施操作员之消防设备高级技能考试题库300道标准卷.docx
- 2026年材料员之材料员基础知识考试题库300道附完整答案(全优).docx
- 2026年材料员之材料员基础知识考试题库300道带答案(培优a卷).docx
- 2026年机械员考试题库含答案(轻巧夺冠).docx
- 2026年材料员之材料员基础知识考试题库300道【夺分金卷】.docx
- 2026年期货从业资格之期货法律法规考试题库500道(考点精练).docx
文档评论(0)