AOV网络与拓扑(一)
2014-04-05 15:44
344 查看
一、活动网络之AOV:
1、活动网络可以用来描述生产计划、施工过程、生产流程、程序流程等工程中各子工程的安排问题。活动网络可分为两种:AOV网络和AOE网络;
2、实际上,可以用有向图来表示一个工程,在这种有向图中,用顶点表示活动,用有向边<u,v>来表示活动u必须先于活动v进行。这种有向图叫做顶点表示活动的网络(Activity On Vertices),记作AOV网络;
3、在AOV网络中,由于具有传递性和反自反性,所以AOV网络不能出现有向环(即有向无环图DAG)。
综上,对于给定的AOV网络,必须先判断它是否是DAG~
二、拓扑排序:
1、判断有向无环图的方法是对AOV网络构造它的拓扑有序序列(Topological Order Sequence);
2、构造这种AOV网络全部顶点的拓扑有序序列的运算称为拓扑排序;
3、一个AOV网络的拓扑有序序列可能不是唯一的;
4、拓扑排序实现方法:
(1)从AOV网络中选择一个入度为0(即没有直接前驱)的顶点并输出;
(2)从AOV网络中删除该顶点及该顶点发出的所有边;
(3)重复步骤(1)和(2),直至找不到入度为0的顶点。
经过上述步骤后,有两种结果:(1)所有的顶点都被输出,也就是整个拓扑排序完成了;(2)仍有顶点没有被输出,只剩下入度不为0的顶点,即存在有环图。
5、拓扑排序在实现时需要建立一个count数组,记录各个顶点的入度:入度为0的顶点就是无前驱的顶点;还需建立一个存放入度为0的顶点的栈,供选择和输出无前驱的顶点:只要出现入度为0的顶点,就将它压入栈中;
6、在算法实现时,为了建立入度为0的顶点栈,可以不另外分配存储空间,直接利用存储顶点入度的count[]数组;
(1)当顶点i入栈时,将执行栈顶指针的修改:count[i] = top; top = i;
(2)当弹出栈顶顶点时,执行如下操作:j = top; top = count[top];
如上操作,是把count当作一个链式栈来看,当count[]中入度为0时,即为top下一个指向的位置,并将当前指针存入count[]中;
Ps:下一篇来具体实现AOV网络的拓扑排序~
1、活动网络可以用来描述生产计划、施工过程、生产流程、程序流程等工程中各子工程的安排问题。活动网络可分为两种:AOV网络和AOE网络;
2、实际上,可以用有向图来表示一个工程,在这种有向图中,用顶点表示活动,用有向边<u,v>来表示活动u必须先于活动v进行。这种有向图叫做顶点表示活动的网络(Activity On Vertices),记作AOV网络;
3、在AOV网络中,由于具有传递性和反自反性,所以AOV网络不能出现有向环(即有向无环图DAG)。
综上,对于给定的AOV网络,必须先判断它是否是DAG~
二、拓扑排序:
1、判断有向无环图的方法是对AOV网络构造它的拓扑有序序列(Topological Order Sequence);
2、构造这种AOV网络全部顶点的拓扑有序序列的运算称为拓扑排序;
3、一个AOV网络的拓扑有序序列可能不是唯一的;
4、拓扑排序实现方法:
(1)从AOV网络中选择一个入度为0(即没有直接前驱)的顶点并输出;
(2)从AOV网络中删除该顶点及该顶点发出的所有边;
(3)重复步骤(1)和(2),直至找不到入度为0的顶点。
经过上述步骤后,有两种结果:(1)所有的顶点都被输出,也就是整个拓扑排序完成了;(2)仍有顶点没有被输出,只剩下入度不为0的顶点,即存在有环图。
5、拓扑排序在实现时需要建立一个count数组,记录各个顶点的入度:入度为0的顶点就是无前驱的顶点;还需建立一个存放入度为0的顶点的栈,供选择和输出无前驱的顶点:只要出现入度为0的顶点,就将它压入栈中;
6、在算法实现时,为了建立入度为0的顶点栈,可以不另外分配存储空间,直接利用存储顶点入度的count[]数组;
(1)当顶点i入栈时,将执行栈顶指针的修改:count[i] = top; top = i;
(2)当弹出栈顶顶点时,执行如下操作:j = top; top = count[top];
如上操作,是把count当作一个链式栈来看,当count[]中入度为0时,即为top下一个指向的位置,并将当前指针存入count[]中;
Ps:下一篇来具体实现AOV网络的拓扑排序~
相关文章推荐
- AOV网络与拓扑(二)——实现
- 基于HTML5和WebGL的3D网络拓扑结构图
- 计算机网络的拓扑结构
- 节点的网络拓扑距离
- IP网络拓扑自动发现
- 云计算openstack笔记--网络拓扑创建笔记
- 基于HTML5的3D网络拓扑自动布局
- 使用kd-tree构建交通网络拓扑关系
- 基于Java开发的免费网络拓扑软件-SugarNMSTool
- 网络拓扑生成
- 基于Java开发的免费网络拓扑软件-SugarNMSTool
- 通过改变网络拓扑使用Sniffer Pro监控、分析协议的示意图
- 通过改变网络拓扑使用Sniffer Pro监控、分析协议的示意图
- 网络拓扑的背后
- 中小企业网络规划拓扑
- 基于Extjs3.0的网络拓扑
- 网络拓扑结构设计
- 自动构面算法中拓扑网络建构的优化
- AOV网络及拓扑排序
- 思科---北京某销售公司真实网络环境拓扑(图多杀猫)