数据结构
拓扑排序 Topological Sort
用顶点表示活动,用弧表示活动间的优先关系的有向图成为VOA网。
如何进行拓扑排序
步骤1.在有向图中选一个没有前驱的顶点且输出它。
步骤2.从图中删除该顶点和所有以它为尾的弧删掉
重复两步直到不存在没有前驱的顶点输出
结果1.拓扑排序完成
结果2.存在环路,无法进行拓扑排序
关键路径
AOE网络
带权有向图(DAG)
顶点表示事件,有向边表示活动。
事件,开始事件,结束事件。
关键活动的特点
活动最早开始的时间=活动最晚开始的时间,不存在富余时间
活动最早开始的时间取决于前面的活动
活动最晚开始的时间取决于后面的活动
事件的最早发生时间ve(j)
事件的最晚发生事件
事件发生时间的计算公式
ve(源点)=0;
ve(j)=max(ve(i)+dut(<i,j>))
vl(汇点)=ve(汇点)
vl(j)=min(vl(j)-dut(<i,j>))
算法要点:
第一步,按照拓扑顺序求各点的最早发生时间
第二步,按照逆拓扑序求各点的最晚发生时间
第三步,比较最早发生时间和最晚发生时间确定关键活动
查找
查找表是由同一类型的数据元素(或记录)构成的集合
平均查找长度ASL