1. 拓扑排序
- 顶点表示活动
- 有向无环图(DAG)
- 把当前入度为0的边去掉,再接着找,直至没有剩余结点。
2. AOE网络、关键路径&关键活动
- 边表活动、结点表状态、有一个起点和一个终点。
- 求每个结点的最早&最晚发生时间Ve和Vl以每个活动的最早&最晚开始时间Ee和El
具体过程
- 1.首先按照拓扑排序求所有结点的Ve
- 2.令终点的Vl=Ve,按照拓扑排序的逆序,求出结点的Vl
- 3.所有活动(边)的Ee等于其起点的Ve(一个活动的最早在起点状态达成后即开始)
- 4.所有的活动(边)的El等于其终点的Vl-Wi(也可以拖到最后一刻再开始)
AOE求事件的发生最早&最晚发生时间
-
- 最早发生时间为完成上一次依赖总事件事件求最大值
-
- 最晚发生时间为事件出度到事件的最晚发生时间减去边(活动)所花时间求最小值
AOE求活动开始最早&最晚时间
-
- 最早开始时间:完成上一个事件所要花费时间(入度)最早发生的时间
-
- 最晚开始时间: 活动到达事件(入度)的最晚发生时间减去活动时间。
3 二分查找(折半查找)
- 在长度为n的有序顺序表list中顺序查找一个目标值的时间复杂度 => O(n)
- 二分查找:在比较失效时,利用表的有序性排序,待查找元素中的另一半,每次剔除一半其时间复杂度为 => O(logn)