zoukankan      html  css  js  c++  java
  • 图-关键路径

    拓扑排序

    重要概念

    • AVO(Activity of Vertex Network):顶点表示活动,弧表示活动之间优先级的表示工程的有向图
    • 拓扑序列:有向图中的一条路径,路径中某些点的相对顺序有限制
    • 拓扑排序:对一个有向图构造拓扑序列

    拓扑排序思路

    利用临接表和栈,从AOV中寻阿泽一个入度为零的点,删除此点,并删除以该顶点为狐尾的弧,重复直到输出全部顶点或者AOV网中不存在入度为0为止

    关键路径

    重要概念

    • AOE:在AOV的基础上,边上有权值,代表活动耗费的时间。
    • AOE的工程应用:在活动之间的制约关系没有矛盾的基础之上,找出决定工程最短耗费时间的活动
    • 关键路径:源点到汇点的最大程度的路径

    参数定义

    我们把VOE网中的顶点当作事件,弧当作活动。
    - 事件最早发生时间etv(earliest time of vertex)
    顶点Vk的最早发生时间(逻辑上要求Vk之前发生的事件都结束之后的最早时间)
    - 事件最晚发生时间ltv(latest time of vertex)。

    顶点Vk的最晚发生时间
    - 活动最早发生时间et e(earliest time of edge)

    弧ak的最早发生时间。
    - 活动最晚发生时间lte(earliest time of edge)

    弧ak的最晚发生时间

    算法原理

    拓扑排序

    • 除了根据AOE进行基本的拓扑排序外,将要输出的拓扑序列压入全局栈stack2中。
    • 同时求出所有顶点的etv 屏幕快照 2016-07-30 下午3.21.51

    AOE网中的事件是有发生顺序限制的,因此k必须等待规定在vk之前发生的事件都结束之后才能开始,所以选取最大值>

    计算ltv

    屏幕快照 2016-07-30 下午3.25.21

    • 计算ltv的时候,实际上是把拓扑序列倒过来进行的
    • ltv在两种可能中取最小值,是为了满足在执行vk之后的所有事件不会延长整个工程的最短时间>

    求关键路径

    屏幕快照 2016-07-30 下午3.28.06

  • 相关阅读:
    com.mongodb.MongoException$CursorNotFound: cursor not found on server异常处理
    Oracle中暂时表空间的清理
    java——数组
    二分查找的感悟
    【转】Linux时间函数之gettimeofday()函数之使用方法
    【转】《APUE》第三章笔记(4)及习题3-2
    【转】APUE习题4.6---测试lseek作用
    【转】linux下a.out >outfile 2>&1重定向问题
    【转】./a.out 2>&1 > outfile
    【转】apue《UNIX环境高级编程第三版》第一章答案详解
  • 原文地址:https://www.cnblogs.com/rainySue/p/tu-guan-jian-lu-jing.html
Copyright © 2011-2022 走看看