网站大量收购独家精品文档,联系QQ:2885784924

AOV网-拓扑排序.ppt

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

如何求关键路径 ve(i):表示事件i的最早开始时间 vl(i):表示事件i的最迟开始时间 已知ve(1)=0,计算其余顶点的ve值要按照顶点拓扑排序后的次序进行 ve(j)=max(ve(i) + dut(i,j)) i,j∈T,T是以j为头的弧的集合 a1=6 a2=4 v8 v1 V2 V3 v5 v8 v7 v9 a4=1 a5=1 a7=9 a8=7 a10=2 a11=4 V1到Vj的最长路径 如何求关键路径 vl(n-1)=ve(n-1),然后按照顶点逆拓扑排序后的次序求其余顶点的vl vl(i)=min(vl(j) - dut(i,j)) i,j∈S,S是以i为尾的弧的集合 a1=6 a2=4 v8 v1 V2 V3 v5 v8 v7 v9 a4=1 a5=1 a7=9 a8=7 a10=2 a11=4 如何求关键路径 用e(i)和l(i)分别表示活动ai的最早开始间和最迟开始时间 显然有: e(i)=ve(j) l(i)=vl(k)-dut(j,k) j k ai 如何求关键路径 a1=6 a2=4 v8 v1 V2 V3 v4 v5 v6 v8 v7 v9 a3=5 a4=1 a5=1 a6=2 a7=8 a8=7 a9=4 a10=2 a11=4 v1 v2 v3 v4 v5 v6 v7 v8 v9 ve vl v4 v5 v6 v7 v8 v9 ve vl 0 0 0 0 0 0 0 0 0 6 4 5 14 18 7 7 15 18 18 18 18 18 18 18 18 18 16 14 7 6 6 10 8 0 拓扑有序序列: v1 v2 v3 v4 v6 v5 v8 v7 v9 逆拓扑有序序列:v9 v7 v8 v5 v2 v3 v6 v4 v1 如何求关键路径 a1 a2 a3 e l a4 a5 a6 a7 a8 a9 a10 a11 6 4 5 1 1 2 8 7 4 2 4 0 0 0 6 4 5 7 7 7 15 14 0 2 3 6 6 8 8 7 10 16 14 a1=6 a2=4 v8 v1 V2 V3 v4 v5 v6 v8 v7 v9 a3=5 a4=1 a5=1 a6=2 a7=8 a8=7 a9=4 a10=2 a11=4 0, 0 6, 6 4, 6 5, 8 7, 7 7, 10 15, 16 14, 14 18, 18 * * AOV网-拓扑排序 有向无环图及其应用 AOE网-关键路径 有向无环图 小结和作业 有向无环图的应用 公用表达式 有向无环图 一、定义: 一个无环的有向图,称为有向无环图(DAG图) V1 V2 V4 V5 V3 V7 V6 V8 V1 V2 V4 V5 V3 V7 V6 V8 DAG图 有环的有向图 DAG = Directed Acyclic Graph 有向无环图 二、如何判断一个图是否是DAG? V1 V2 V4 V5 V3 V7 V6 V8 DAG图 V1 V2 V3 V8 V7 V6 V5 V4 深度优先搜索没有出现指向祖先的回边,即: 没有一个顶点有一条边,指向遍历过程中先访问过的顶点(并且这些顶点的DFS函数没有执行完) V1 V2 V4 V5 V3 V7 V6 V8 有向无环图 非DAG图 V1 V2 V3 V8 V7 V6 V5 V4 V7有一条边指向了V3,所以有环 V7指向V8的边,没有构成环,因为没有V8到V7的路径 有向无环图 bool DAG(Graph G) { for (v=0; vG.vexnum; ++v) visited[v] = FALSE; // 访问标志数组初始化 InitStack(S);//存放顶点 for (v=0; vG.vexnum; ++v) { if (!visited[v]) if(!DFS-DAG(G, v)) return(FALSE); // 对尚未访问的顶点调用DFS-DAG } return TRUE; } 有向无环图 Bool DFS-DAG(Graph G, int v) { // 从顶点v出发,深度优先搜索遍历连通图 G visited[v] = TRUE; Push(S,v); for(w=FirstAdjVex(G, v);w=0; w=NextAdjVex(G,v,w)){ {if (w in S) then return(FALSE);//有回边 if(!visited[w]){

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档