AOV-网和AOE-网

定义

  • AOV-网 Activity On Vertex Network:用顶点表示活动,用弧表示活动间的优先关系的有向图,用来研究完成活动的先后次序,即进行拓扑排序
  • AOE-网 Activity On Edge:顶点表示时间结点,弧表示活动,权表示活动持续的时间,用来估算工程的完成时间,即求关键路径的操作

拓扑排序

  1. 在有向图中选一个没有前驱的顶点并输出之
  2. 从图中删除该顶点和所有以它为尾的弧
  3. 重复上述两步直到全部顶点均已输出,或当前图中不存在无前驱的顶点(这种情况说明有环)为止

关键路径

  • 每个事件表示在它之前的活动已经完成,在它之后的活动可以开始
  • 整个工程只有一个入度为零的点(源点)和一个出度为零的点(汇点
  • 由于活动可以并行进行,完成工程最短时间是从源点到汇点的最长路径(关键路径)的长度
  • e ( i ) e(i) e(i):活动 a i a_i ai的最开始时间
  • l ( i ) l(i) l(i):在不推迟整个工程完成的前提下,活动 a i a_i ai的最开始时间
  • 关键活动 e ( i ) = l ( i ) e(i)=l(i) e(i)=l(i),关键路径的所有活动都是关键活动
  • v e ( j ) ve(j) ve(j):时间结点最发生时间
  • v l ( j ) vl(j) vl(j):时间结点最发生时间
  • 活动 a i a_i ai由弧 < j , k > <j,k> <j,k>表示,其持续时间记为 d u t ( < j , k > ) dut(<j,k>) dut(<j,k>)
  • e ( i ) = v e ( j ) e(i)=ve(j) e(i)=ve(j)
  • l ( i ) = v l ( k ) − d u t ( < j , k > ) l(i)=vl(k)-dut(<j,k>) l(i)=vl(k)dut(<j,k>)
  • v e ( j ) = M a x { v e ( i ) + d u t ( < i , j > ) } ve(j)=Max\{ve(i)+dut(<i,j>)\} ve(j)=Max{ve(i)+dut(<i,j>)}
  • v l ( j ) = M i n { v l ( j ) − d u t ( < i , j > ) } vl(j)=Min\{vl(j)-dut(<i,j>)\} vl(j)=Min{vl(j)dut(<i,j>)}

你可能感兴趣的:(数据结构基础)