数据结构课程设计——关键路径.docVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE3

《数据结构》

课程设计报告

课程题目:关键路径

学院:

班级:

学号:

姓名:

指导教师:

完成日期:

目录

TOC\o”1—1\h\z\uHYPERLINK\l_Toc281555876”一、需求分析PAGEREF_Toc281555876\h3

HYPERLINK\l”_Toc281555877”二、概要设计PAGEREF_Toc281555877\h4

HYPERLINK\l”_Toc281555878三、详细设计PAGEREF_Toc281555878\h5

HYPERLINK\l_Toc281555879四、调试分析PAGEREF_Toc281555879\h11

HYPERLINK\l”_Toc281555880五、用户使用说明PAGEREF_Toc281555880\h12

HYPERLINK\l”_Toc281555881”六、测试结果PAGEREF_Toc281555881\h12

HYPERLINK\l”_Toc281555882"七、附录PAGEREF_Toc281555882\h13

一、需求分析

1、问题描述

AOE网(即边表示活动的网络),在某些工程估算方面非常有用。它可以使人们了解:(1)研究某个工程至少需要多少时间?(2)哪些活动是影响工程进度的关键?在AOE网络中,从源点到汇点的有向路径可能不止一条,但只有各条路径上所有活动都完成了,这个工程才算完成。因此,完成整个工程所需的时间取决于从源点到汇点的最长路径长度,即在这条路径上所有活动的持续时间之和,这条路径就叫做关键路径(criticalpath).

2、设计步骤

(1)、以某一工程为蓝本,采用图的结构表示实际的工程计划时间。

(2)、调查并分析和预测这个工程计划每个阶段的时间。

(3)、用调查的结果建立AOE网,并用图的形式表示。

(4)、用CreateGraphic()函数建立图的邻接表存储结构,能够输入图的顶点和边的信息,并存储到相应存储结构中。

(5)、用SearchMaxPath()函数求出最大路径,并打印出关键路径。

(6)、编写代码并调试、测试通过.

3、测试数据

eq\o\ac(○,v2)eq\o\ac(○,v5)

eq\o\ac(○,v1)eq\o\ac(○,v4)eq\o\ac(○,v6)

eq\o\ac(○,v3)

6

v1v2v3v4v5v6

8

v1v2a13

v1v3a22

v2v4a32

v2v5a43

v3v4a54

v3v6a63

v4v6a72

v5v6a81

二、?概要设计

为了实现上述函数功能:

1、抽象数据类型图的定义如下:

ADTGraph{

数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。

数据关系R:

R={VR};

VR={<v,w>|v,w∈V,且P(v,w),v,w>表示从v到w的弧,谓词P(v,w)定义了弧<v,w>的意义和信息}

基本操作:

InitGraph(G);

初始条件:图G存在。

操作结果:构造一个图的顶点数为MAX,弧的个数也为MAX,其他信息都相应初始化了的图。

CreatGraph(&G);

初始条件:已经初始化了的图G。

操作结果:通过输入函数输入图的顶点个数,各顶点信息,弧的条数,以及弧的其他信息,构造图G.

2、抽象数据类型栈的定义如下:

ADTStack{

数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0}

数据关系:Rl={<ai—1,ai>|ai-1,ai∈D,i=2,…,n}

约定an端为栈顶,ai端为栈底。

基本操作:

InitStack(&S)

操作结果:构造一个空栈S。

StackEmpty(S)

初始条件:栈S已经存在。

操作结果:若栈S为空栈,则返回TRUE,否则FALSE.

Push(S,e)

初始条件:栈S已经存在。

操作结果:插入元素e为新的栈顶元素.

Pop(S,e)

初始条件:栈S已存在且不为空。

操作结果:删除S的栈顶元素,并用e返回其值.

}

三、详细设计

1、图的邻接表存储结构如下:

#defineMAX20

typedefstructArcNode//表节点

{

intadjvex;//该弧所指向的顶点的位置

structArcNode*next;//指向下一条弧的指针

char*info1;//表示活动,如a1、a2、a3等等

intinfo2

文档评论(0)

文档服务 + 关注
实名认证
服务提供商

五年办公室经历,数据整理服务,及医院各种材料制度书写,

1亿VIP精品文档

相关文档