一、前驱图
前驱图是一个有向无循环图,记为DAG。用于这种图可以描述多个程序或进程之间的执行顺序关系。
- 〇 表示一个程序、进程或是语句的结点。
- → 表示结点间的执行顺序。
前趋关系“→ ”的形式化描述:→ ={<Pi, Pj> | Pi must complete before Pj may start}
<Pi, Pj>∈→,可写成Pi→Pj,表示在Pj开始执行之前Pi必须完成。此时称 Pi 是 Pj 的直接前驱,而称 Pj 是 Pi 的直接后继。在前驱图中把没有前驱的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点 (Final Node)。此外,每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或程序的执行时间。
下图举例一个具有9个节点的前驱图:
存在如下前驱关系:
P1→ p2,P1→ p3,P1→ p4,P2→ p5,P3→ p5,P4→ p6,P4→ p7,P5→ p8,P6→ p8,P7→ p9,P8→ p9