You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.9 KiB

### 一、概念
**基于有向无环图DAG**:图中没有回路的有向图
![[微信截图_20221221112416.png]]
**AOV网**(拓扑排序)
用一个有向图表示一个工程的各子工程及其相互制约的关系,其中以顶点表示活动,弧表示活动之间的优先制约关系,称这种有向图为**顶点表示活动的网**简称AOV网。
**特点1. 若从i到j有一条路径则i是j的前驱j是i的后继
2.<i,j>是网中有向边则i是j的直接前驱j是i的直接后继
3. AOV网中不允许有回路因为如果有回路存在则表明某项活动以自己为先决条件这是不允许的**
**问题**
1. 如何用程序判断AOV网中是否存在回路个人理解为死循环
2. 有了AOV网怎么排序
**AOE网**(关键路径)
用一个有向图表示一个工程的各子工程及其相互制约的关系其中以弧表示活动以顶点表示活动的开始或者结束事件称这种有向图为边表示活动的网简称AOV网。
**拓扑排序**
在AOV网没有回路的前提下我们将全部活动排列成一个线性序列使得若AOV网中有弧<i,j>存在则在这个序列中i一定排在j的前面具有这种性质的线性序列成为**拓扑有序序列**,相应的拓扑有序排列的算法成为拓扑排序。
步骤1. 找到一个没有前驱的顶点以顶点为弧尾的弧删除并将顶点作为排序节点例如C1找顶点可以遵循从小到大原则
例:
![[微信截图_20221221130828.png]]
![[微信截图_20221221130542.png]]
### 二、拓扑排序例子
#### 1.排课表
![[微信截图_20221221113754.png]]
### 三、检测AOV网中是否存在环
对DAG构造其顶点的拓扑有序序列若网中所有顶点都在它的拓扑有序序列中则该AOV网必定不存在环。如图所示C3,C6,C8就构成了环所以不在拓扑序列中。
![[微信截图_20221221131248.png]]