- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络工程 0801 班《用 C 语言实现图的关键路径》 第 1 页 共 22 页
用 C 语言实现图的关键路径
学生姓名: 指导老师:肖增良
摘 要 本课程设计主要解决图的关键路径的实现。在项目管理中,编制网
络计划的基本思想就是在一个庞大的网络图中找出关键路径,并对各关键活动,
优先安排资源,挖掘潜力,采取相应措施,尽量压缩需要的时间。而对非关键路
径的各个活动,只要在不影响工程完工时间的条件下,抽出适当的人力、物力和
财力等资源,用在关键路径上,以达到缩短工程工期,合理利用资源等目的。在
执行计划过程中,可以明确工作重点,对各个关键活动加以有效控制和调度。关
键路径法将项目分解成为多个独立的活动并确定每个活动的工期,然后用逻辑关
系(结束-开始、结束-结束、开始-开始和开始结束)将活动连接,从而能够计
算项目的工期、各个活动时间特点(最早最晚时间、时差)等。在关键路径法的
活动上加载资源后,还能够对项目的资源需求和分配进行分析。
在本程序设计中,要求实现图的关键路径,最小生成树,判断两点之间是否
有路径,程序由 2 个模块组成,分别为主函数的创建及其他相关函数的设计。程
序通过调试运行,初步实现了设计目标。在课程设计中,系统开发平台为 Windows
2000,程序设计设计语言采用 Visual C++,数据库采用 MS SQL 2000,程序运行
平台为 Windows 98/2000/XP。
关键词 程序设计;数据库;SQL;C++;图;关键路径
网络工程 0801 班《用 C 语言实现图的关键路径》 第 2 页 共 22 页
1 引 言
1.1 课题背景
数据结构课程是计算机专业最重要的基础课之一,主要研究分析计算机存
储、组织数据的方式,使学生能够根据数据对象的特征,选择适当的数据结构、
存储结构及相应算法,初步掌握各种算法在时间和空间上的分析技巧,并能够进
行算法和程序设计,使所涉及的程序结构清楚,正确易读[3]。数据的组织方法和
现实世界问题在计算机内部的表示方法,并能针对应用问题,选择合适的数据逻
辑结构、存储结构及其算法,掌握解决复杂问题的程序设计方法和技术。选择合
适的数据结构更容易设计出更高效运行或存储效率的算法;图是一种较线性表和
树更为复杂的数据结构。在图形结构中,结点之间的关系可以是任意的,图中的
任意两个元素之间都可能相关。
数据结构课程的学习离不开实践。图是一种较为复杂且重要的数据结构,其
特殊性在于图形结构中结点之间的关系可以是任意的,图中任意两个数据元素之
间都有可能相关。用邻接矩阵作为图的数据存储结构很好地解决了图的结构难
点,借助于邻接矩阵容易判定任意两个顶点之间是否有边(或弧)相连,并容易求
得各个顶点的度。
1.2 课程设计的目的
本次针对数据结构中图的关键路径的实现的程序设计实践不仅可以加深对
课程内容的理解,更重要的是可以通过实践进一步掌握程序设计的技能与方法,
初步感受软件开发过程的项目管理方法与规范,为更进一步的学习打下基础。数
据结构是一门实践性很强的学科。良好的系统设计和分析能力的培养需要通过长
期、系统的训练(包括理论和实践两方面)才能获得。
1) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本
方法和技能;
2) 训练学生灵活应用所学数据结构的基本知识,熟练的完成问题分析、算
法设计、编写程序,求解出指定的问题;
3) 训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生
网络工程 0801 班《用 C 语言实现图的关键路径》 第 3 页 共 22 页
的理论知识,提高编程水平,并在此过程中培养严谨的科学态度和良好
的工作作风;
4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力。
1.3 课程设计的任务
问题描述:从键盘上输入一个图的基本信息(图用邻矩阵表示),输出这个图
的关键路径、最小生成树,并判断任意两顶点之间是否有路径。
课题要求:
a) 输入完整的有向图(数据之间用空格隔开);
b) 输出的形式:按用户选择的遍历方法给出遍历顺序,各字符间用-分隔;
程序所能达到的功能:能够按要求输出所要的结果。
2 图及关键路径
2.1 设计说明
通常我们用有向图表示一个工程。在这种有向图中,用顶点表示活动,用有
向边 Vi,Vj表示活动 Vi 必须先于活动 Vj 进行。如果在无有向环的带权有向图
中用有向边表示一个工程中的各项活动(ACTIVITY),用有向边上的权值表示活
动的持续时间(DURATION),用顶点表示事件(EVENT),则这种的有向图叫做用
边表示活动的网络,简称 AOE(active on edges)网络[5]。 AOE 网络在某些工
程估算方面非常有用。他可以使人们了解:
(1):研究某个工程至少需要多少时
原创力文档


文档评论(0)