数据结构课程设计报告-关键路径.

上传人:最**** 文档编号:116676625 上传时间:2019-11-17 格式:DOC 页数:22 大小:484.50KB
返回 下载 相关 举报
数据结构课程设计报告-关键路径._第1页
第1页 / 共22页
数据结构课程设计报告-关键路径._第2页
第2页 / 共22页
数据结构课程设计报告-关键路径._第3页
第3页 / 共22页
数据结构课程设计报告-关键路径._第4页
第4页 / 共22页
数据结构课程设计报告-关键路径._第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据结构课程设计报告-关键路径.》由会员分享,可在线阅读,更多相关《数据结构课程设计报告-关键路径.(22页珍藏版)》请在金锄头文库上搜索。

1、 数据结构程序设计 数据结构课程设计报告 学 院 计算机与通信工程 专 业 网络工程 班 级 学 号 学生姓名 指导教师 课程成绩 完成日期 2011年2月27日课程设计成绩评定学 院 计算机与通信工程学院 专 业 网络工程 班 级 学 号 学生姓名 指导教师 完成日期 2011年2月27日 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 2011年2月27日课程设计任务书计算机与通信工程学院 网络工程专业 课程名称数

2、据结构课程设计时间20102011学年第2学期12周学生姓名指导老师题 目用数据结构求图的关键路径问题主要内容: 用C+语言和数据结构思想构建图,并求出关键路径。要求:(1)通过实际课题的分析、设计、编码、测试等工作,掌握用C+语言和数据结构思想结合来开发和维护软件。(2)按要求编写课程设计报告书,能正确编写分析、设计、编码、测试等技术文档和用户使用手册。应当提交的文件:(1)课程设计论文。(2)课程设计附件(主要是源程序)。数据结构课程设计报告摘 要关键路径是我们估算某些工程非常有用,是一种非常重要的估算一项工程所需的最短时间的依据。本文对如何求一个工程的关键路径做了详细的说明,包括需求分析

3、、概要设计、详细设计、测试与分析、总结、源程序清单。首先,做了需求分析,解释了什么是关键路径,并指出它在估算工程中的重要作用。然后给出求关键路径的概要设计,包括程序中用到的所有抽象数据类型的定义,主程序的流程以及各程序模块之间的层次(调用)关系。在概要设计的基础上,又给出了详细的算法设计,实现概要设计中定义的所有函数,对每个函数写出核心算法,并画出了流程图。然后对编码进行了测试与分析(并在最后附上C语言编写的程序代码)。最后对整个设计过程进行了总结关键词:关键路径;抽象数据类型;程序模块;核心算法;流程图目录1绪论- 1 -11前言- 1 -12研究意义- 1 -2 需求分析- 2 -21问题

4、描述- 2 -22基本要求- 2 -23目的- 2 -3 概要设计- 3 -31算法分析- 3 -32算法步骤- 3 -33数据结构- 4 -4 详细设计- 5 -41主要函数的核心代码- 5 -42程序流程图- 5 -5 测试- 6 -51开始界面- 6 -52进入求关键路径的系统- 6 -53输入节点数和活动个数- 7 -54输入某项目的信息(弧头,弧尾,权值)- 7 -55打印出关键路径- 8 -56错误测试- 9 -57回路测试- 10 -6 总结- 11 -参考文献- 12 -附录:源程序清单- 13 -1绪论11前言 我们通常把计划、施工过程、生产流程、程序流程等都当成一个工程。工

5、程通常分为若干个称为“活动”的子工程。完成了这些“活动”,这个工程就可以完成了。 我们通常用AOE-网来表示工程。AOE-网是一个带权的有向无环图,其中,顶点表示事件(EVENT),弧表示活动,权表示活动持续的时间。AOE-网可以用来估算工程的完成时间。他可以使人们了解:1. 研究某个工程至少需要多少时间?2. 哪些活动是影响工程进度的关键?由于AOE-网中的有些活动可以并行进行,从开始点到各个顶点,以致从开始点到完成点的有向路径可能不止一条,这些路径的长度也可能不同。完成不同路径的活动所需的时间虽然不同,但只有各条路径上所有活动都完成了,这个工程才算完成。因此,完成工程所需的最短时间是从开始

6、点到完成点的最长路径的长度,即在这条路径上的所有活动的持续时间之和.这条路径长度就叫做关键路径(Critical Path)。12研究意义 关键路径可以很方便的让我们估算出某个工程最短的时间开销,以及这个工程中哪些活动,即哪些项目是主要的,是影响工程进度的关键,从而让我们对工程的实施作出更好的时间安排,并且可以分清主次,抓住核心工程,做到有的放矢。总的来说,正因为关键路径可以帮助我们对工程进行非常有必要的估算,让我们得以看清全局,作出更为优化的安排,所以可见关键路径的求出对一项工程而言是非常必要的。这亦是本次对关键路径求法的研究意义所在。-1-2 需求分析21问题描述 (1)选取建图的一种算法

7、建立图,有邻接矩阵,邻接表,十字链表,邻接多重表等多种方法,要选取一种适当的方法建立图,才能提高算法效率,降低时间复杂度和空间复杂度。(2)两个相邻顶点与它们之间的边表示活动,边上的数字表示活动延续的时间。对于给出的事件AOE网络,要求求出从起点到终点的所有路径,经分析、比较后找出长读最大的路径,从而得出求关键路径的算法,并给出计算机上机实现的源程序。完成不同路径的活动所需的时间虽然不同,但只有各条路径上所有活动都完成了,这个工程才算完成。具体要解决的问题有如下四个:1) 将项目中的各项活动视为有一个时间属性的结点,从项目起点到终点进行排列; 2) 用有方向的线段标出各结点的紧前活动和紧后活动

8、的关系,使之成为一个有方向的网络图; 3) 用正推法和逆推法计算出各个活动的最早开始时间,最晚开始时间,最早完工时间和最迟完工时间,并计算出各个活动的时差; 4) 找出所有时差为零的活动所组成的路线,即为关键路径; 22基本要求 (1)选取建图的一种算法建立图;选取邻接表的算法来建立图,是一种顺序+ 链式存储结构。用顺序表存放顶点,为每个顶点建立一个单链表,单链表中的结点表示依附于该顶点的边或以该顶点为尾的弧。(2)两个相邻顶点与它们之间的边表示活动,边上的数字表示活动延续的时间 参照该工程所化的AOE-网,求出从起点到终点的所有路径,然后通过拓扑排序和逆拓扑排序求出最早与最晚发生时间,找出长

9、度最大的路径,从而求得关键路径。 23目的在该部分,即需求分析中,根据设计题目的要求,充分地分析和理解问题,叙述系统的功能要求,明确问题要求做什么,以及限制条件是什么。 程序所能达到的功能:通过输入所要构建的图的顶点数,弧数,创建图,并打印出来,对图进行拓扑排序,求得此图的最早发生时间和最迟发生时间,并求得关键活动和关键路径,打印出来。-2-3 概要设计31算法分析(1)求关键路径必须在拓扑排序的前提下进行,有环图不能求关键路径;(2)只有缩短关键活动的工期才有可能缩短工期;(3)若一个关键活动不在所有的关键路径上,减少它并不能减少工期; (4)只有在不改变关键路径的前提下,缩短关键活动才能缩

10、短整个工期。(5)关键路径:从源点到汇点的路径长度最长的路径叫关键路径。(6)活动开始的最早时间e(i);(7)活动开始的最晚时间l(i);(8)定义e(i)=l(i)的活动叫关键活动;(9)事件开始的最早时间ve(i);(10)事件开始的最晚时间vl(i)。设活动ai由弧(即从顶点j到k)表示,其持续时间记为dut(),则: e(i)=ve(j) l(i)=vl(k)-dut() 求ve(i)和vl(j)分两步: 1.从ve(1)=0开始向前递推ve(j)=Max ve(i)+dut() T,2=j=n 其中,T是所有以j为弧头的弧的集合。 2.从vl(n)=ve(n)开始向后递推 vl(i)=Min vl(j)-dut() S,1=i=n-1 其中,S是所有以i为弧尾的弧的集合。两个递推公式是在拓扑有序和逆拓扑有序的前提下进行。32算法步骤(1)输入e条弧,建立AOE网的存储结构。(2)从源点v1出发,令ve(1)=0,求 ve(j),2=j=n。(3)从汇点vn出发,令vl(n)=ve(n),求 vl(i) 1=i=n-1。(4)根据各顶点的ve和vl值,求每条弧s(活动)的最早开始时间e(s)和最晚开始时间l(s),其中e(s)=l(s)的为关键活动。-3-33数据结构typedef struct n

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号