图的拓扑排序AOV网,有向无环图DAG描述表达式,关键路径AOE网。

一,有向无环图DAG描述表达式

1.DAG

若一个有向图中不存在环,则称为有向无环图,记为DAG。

2.用二叉树描述表达式

在这里插入图片描述

3.用DAG描述表达式

用二叉树描述表达式有缺点,有些结点大可不必存储,可以共用。
step1:把各个操作数不重复的排成一排。
step2:标出各运算符生效顺序。
step3:按顺序加入运算符注意分层。
step4:从底层上逐层检查同层的运算符是否可以合并。
在这里插入图片描述

在这里插入图片描述

二,拓扑排序AOV网

1.AOV网

  用DAG表示一个工程,顶点表示活动,边<Vi,Vj>表示 活动Vi 必须先于 活动Vj 进行的这样一种关系,则将这种有向图称为 顶带你表示活动的网络,记为AOV网。

2.拓扑排序

  有一个有向无环图的顶点组成的序列,当且仅当满足下列条件时,称为该图的一个拓扑排序:
  ①每个顶顶只出现一次
  ②若顶点A在序列中排在顶点B的前面,则在图中不存在从顶点B到顶点A的路径。即,无环

3.拓扑排序步骤

拓扑排序的算法有很多,下面是常见的:
  ①从AOV网中选择一个没有前驱的顶点并输出。
  ②从网中删除该顶点和所有以它为起点的有向边
  ③重复上述过程,直至AOV为空,或者当前网中不存在无前驱的顶点为止。

4.逆拓扑排序

删除出度为0的顶点。

5.代码实现

1.常规实现
2.用BFS实现

三,关键路径AOE网

1.AOE网

再带权有向图中,以顶点表示事件,以有向边表示活动,以边上权值表示完成该活动的开销(如:完成该活动时间),称之为用边表示活动的网络,简称AOE网。
注1:AOE与AOV都是有向无环图DAG。
注2:AOE与AOV区别在于他们顶点和边的意义不同。
注3:AOE与AOV区别在于,AOE网中边有权值,AOV中仅代表前后关系。

2.几个参量的定义

①Ve(k) : 事件Vk的最早发生时间。
②Vl(k) : 事件Vk的最迟发生时间。
③e(i) : 活动ai的最早开始时间。
④l(i) : 活动ai的最迟开始时间。
⑤d(i):余量 d(i) = l(i) - e(i)。
注:d(i) = 0的路径,即为关键路径。

3.关键路径步骤

①求出所有事件最早发生时间Ve()
①求出所有事件最迟发生时间Vl()
①求出所有活动最早开始时间e()
①求出所有活动最迟开始时间l()
①求出所有活动的余量d()
注1:由Ve() 可知 e()。
注2:由Vl() 可知 l()。
注3:由e() 和 l() 可知 d()。
注4:由d() = 0,可找到关键路径。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值