毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
VC++有向无环图所有拓扑序列的生成(2)
3.1 全拓扑排序算法的概述 15
3.2 全拓扑排序算法的具体实现 15
3.2.1全拓扑排序算法流程图 15
3.2.2 实例应用 17
3.2.3 全拓扑排序算法的核心代码 18
3.3 算法的复杂度 19
3.4 全拓扑排序算法的实际应用 20
3.5.1 AOV网图外部不可见点的问题 20
3.5.2拓扑序列决策问题 21
3.5.3 并行子工程的安排 22
第四章 基于MFC的并行拓扑算法的实现 23
4.1 MFC编程的概念 24
4.2 系统功能的划分 24
4.3 输入的设计 24
4.3.1 顶点和边的基本信息输入 24
4.3.2 决策信息的输入 25
4.4 查看求解过程 25
4.4.1 所有拓扑序列的输出 25
4.4.2 决策选择后的拓扑序列 27
第五章 程序测试及性能分析 33
5.1 程序测试 33
5.2 算法性能分析 34
结束语 35
致谢 36
参考
文献
37
第一章 绪 论
1.1 引言
在数据结构这门学科中,拓扑排序算法思想的提出有着极其重要的意义。该思想在
教学
计划安排、工程施工管理、生产流程控制等领域发挥了很重要的作用。在实际工程中,一个完整的工程可以由若干个子工程(也称为活动)组成,这些子工程在安排的先后顺序上存在一定的制约关系,有的子工程必须在其他子工程完成之后才可以开始,而子工程之间的先后制约关系可能是比较复杂的。为了求得一个合理的子工程安排序列,必然要寻求一种算法进行求解。按这一顺序来安排各子工程可以保证整个工程的顺序进行,不至于出现后续子工程先于应该在它之前完成的子工程前面安排。在数据结构学科中,对于这一类问题,用图中的拓扑排序算法进行求解。
有向图的各顶点代表子工程(也称为活动),用有向边表示任务之间的优先关系,该边是从先前活动指向后续活动,这种有向图称为AOV网(Activity On Vertex Network),要使AOV 网中的各个顶点排成一个线性序列,并且能够文持各个顶点之间原有的先后次序,这样的一个排序过程就是拓扑排序,所得到的线性序列称为拓扑序列。
求得了拓扑序列,就可以按序列中各子工程的先后顺序串行地安排各项活动,并且能够文持原有活动的先后次序关系。AOV网的拓扑序列不一定唯一,这就意着某些活动可以同时安排,从而缩短整个工程的时间。
下面的例子简单说明拓扑排序算法的应用。一个工程中有6个子工程,它们之间的先后次序制约关系如表1.1所示。
表1.1 各子工程的先后次序表
子工程号 紧前子工程
0 无
1 无
2 0,1
3 1
4 2
5 2,3
根据表1.1,得到对应的AOV网如图1.1所示。
图1.1 AOV网G1
根据拓扑排序列算法思想,可以求得表1.2所示的12个拓扑序列,按照其中任意一种序列的顺序安排活动,都能保证整个工程的顺利完成。
表1.2 12个拓扑序列
拓扑序列1 0,1,2,3,4,5
拓扑序列2 0,1,2,3,5,4
拓扑序列3 0,1,2,4,3,5
拓扑序列4 0,1,3,2,4,5
共7页:
上一页
1
2
3
4
5
6
7
下一页
上一篇:
混合云环境下基于失效感知的调度策略
下一篇:
基于FitNium的Web关键字驱动的测试
vc++几种排序算法演示软件实现
VC++在线学习平台的设计
VC++BlackList的主机防火墙设计+源代码
VC++五子棋游戏的设计
VC++基于GPU高光谱图像目标检测方法
基于VC++五子连珠游戏的设计
基于VC++俄罗斯方块游戏的设计
AT89C52单片机的超声波测距...
公寓空调设计任务书
10万元能开儿童乐园吗,我...
C#学校科研管理系统的设计
志愿者活动的调查问卷表
承德市事业单位档案管理...
神经外科重症监护病房患...
医院财务风险因素分析及管理措施【2367字】
中国学术生态细节考察《...
国内外图像分割技术研究现状