- 9
- 0
- 约4.19万字
- 约 10页
- 2018-03-03 发布于重庆
- 举报
数据结构,课程设计,全国铁路最佳经由问题,关键路径
青岛理工大学
数据结构课程设计报告
题目一: 关键路径 题目二: 全国交通运输网最佳经由问题
院(系): 计算机工程学院 学生姓名: 刘善永 班级: 计算094 学号: 200907124 起迄日期: 2011年6月20日—2011年6月30日 指导教师: 张 艳
2010—2011年度 第 2 学期
题目一:关键路径
一、需求分析
1.问题描述:
给定一个AOE-网(即带权的有向无环图),求出此图的关键路径。AOE-网中,顶点表示事件,弧表示活动,权表示活动持续的时间。用AOE-网来估算某些工程完成的时间是非常有用。
2.基本功能
对于任意给定的AOE-网,显示出该图的关键路径。
3.输入输出
程序的输出格式为:
首先输出一句话判断是否是拓扑排序;
接着输出关键路径(格式如下):
起点 终点 dut ee el tag
输入数据:根据提示输入相应的数据。一般若依次输入多个数据时,中间要用空格隔
开。需要注意的是顶点的类型是字符串)。
测试数据如下:
二、概要设计
1.设计思路
首先对于图的存储结构采用了邻接表的存储结构。其次对于给定的有向无环图,先对其进行拓扑排序,在对其求关键路径。
拓扑排序的算法为:
a. 在有向图中选一个没有前驱的顶点且输出之;
b. 从图中删除该顶点和所有以它为尾的弧。
重复上述两步,直至全部顶点均以输出或者当前图中不存在无前驱的顶点为止。
关键路径的算法:(其中活动的最早发生时间e(i)和最迟发生时间l(i),事件的最早发
生时间ve(i)和最迟发生时间vl(i))
a. 从源点v0出发,令ve(0)=0,对拓扑有序求出其余各顶点的ve(i)。
b. 从汇点vn出发,令vl(n-1)=ve(n-1),按拓扑逆序求出各顶点的vl(i);
c. 根据各顶点的ve和vl的值,求每条弧s的最早发生时间e(s)和最迟发生时间
l(s).若某条弧满足e(s)=l(s),则为关键活动。
2.数据结构设计
抽象数据类型图的定义如下:
ADT Graph{
数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。
数据关系R:
R={VR} VR={(v,w)| v,w∈V,(v,w)表示v和w之间存在路径}
基本操作P:
LocateVex(G,v)
初始条件:图G存在,v和G中顶点有相同特征。
操作结果:若G中存在顶点v,则返回该顶点在图中位置;否则返回0 ,零号空
间不用。
CreateGraph(amp;G)
初始条件:输入顶点和边。
操作结果:根据输入的顶点和边,定义构造图。
FindInDegree(ALGraph G,int indegree[])
初始条件:有向图G存在。
操作结果:对个顶点求入度indegree[0...vernum-1]。
TopologicOrder(ALGraph G,SqStack amp;T)
初始条件:有向图G存在,拓扑序列顶点栈T存在。
操作结果:若G无回路,则返回OK,否则返回ERROR。
CriticalPath(ALGraph G)
初始条件:有向图G存在。
操作结果:输出G的各项关键活动。
} ADT Graph
ADT Stack{
数据对象:D={ai|ai∈ElemSet,i=1,2,?,n,ngt;=0}
数据关系:R1={lt;a(i-1),a(i)gt;|a(i-1),a(i)∈D,i=2,...,n} 约定an端为栈顶,ai端为栈底。
基本操作:
InitStack(amp;S)
操作结果:构造一个空栈S。
DestroyStack(amp;S)
初始条件:栈S已存在。
操作结果:销毁栈S。
StackEmpty(S)
初始条件:栈S已存在。
操作结果:若S为空栈,则返回TRUE,否则返回FALSE。 Push(amp;S,e)
初始条件:栈S已存在。
操作结果:在栈S的栈顶插入新的栈顶元素。
Pop(amp;S,amp;e)
初始条件:栈S已存在。
操作结果:删除S的栈顶元素,并以e返回其值。 } ADT Stack
3.软件结构设计
程序中包含的模块及模块间的关系说明。
(1)主程序模块:
void main()
{ 初始化G,T;
CreateGraph(G);
CriticalPath(G);
}
(2)图模块——实现图的抽象数据类型
int LocateVex(ALGraph G,VertexType u);
void CreateGraph(ALGraph amp;G);
void FindInDegree(ALGraph G,int indegree[]); int Topol
您可能关注的文档
最近下载
- 关节置换课件.pptx VIP
- 脉冲微分方程边值问题解的存在性:理论与应用新探.docx VIP
- 2025高考物理步步高同步练习必修3第十章电势差与电场强度的关系含答案.docx VIP
- 人教版高中数学必修一章节思维导图全套.pdf VIP
- 深度解析(2026)《GAT 147-2019法医学 尸体检验技术总则》.pptx VIP
- 变分法研究几类分数阶脉冲微分方分程边值问题解的存在性.docx VIP
- 《中小学生欺凌防治制度机制指引》全文.pdf VIP
- 普通话水平考必试读词语表.doc VIP
- 汽车租赁合同模板范本.docx VIP
- 2025高考物理步步高同步练习选修1第一章 动量专题强化3 弹簧—小球模型 滑块—光滑斜(曲)面模型含答案.docx VIP
原创力文档

文档评论(0)