网站大量收购独家精品文档,联系QQ:2885784924

2025【图的关键路径及求法研究】5300字(论文).docx

2025【图的关键路径及求法研究】5300字(论文).docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

图的关键路径及求法研究

TOC\o1-3\h\z\u摘要 1

引言 2

1.关键路径 3

1.1关键路径概述 3

1.1.1关键路径定义 3

1.1.2确定关键路径 3

1.2 关键路径求解算法 5

1.3 关键路径求解例题 6

2. Dijkstra算法 8

2.1 Dijkstra算法概述 8

2.1.1 Dijkstra算法定义 8

2.1.2 Dijkstra算法基本思想 8

2.2 Dijkstra算法的C++语言实现 9

2.3 Dijkstra算法求最短路径例题 13

3. 基于Dijkstra算法求AOE网的关键路径 15

3.1 关键路径算法设计 15

3.1.1算法思想 15

3.1.2算法过程 15

3.2 算法应用举例 15

3.3 时间复杂度对比 17

结束语 18

参考文献 19

PAGE1

摘要:关键路径是数据结构中的一个重要知识点,识别关键路径有助于提高工程的效率.文中不仅明确了关键路径的界定和求解算法,以及Dijkstra算法的界定及其C++语言描述,并且提出利用我们所熟悉的Dijkstra算法来计算关键路径的方法,经研究得出使用Dijkstra算法计算关键路径在形式上更为简单.

关键词:关键路径;数据结构;Dijkstra算法;AOE网

引言

我们在学习数据结构这门课时,了解到关键路径是指图中从开始点到结束点点经过的最远的路径,关键路径通常是决定工程工期的重要要素,改善关键路径可以压低工程的成本和动工速度.

目前对于关键路径的研究有了很多成果.文献[1]-[5]主要叙述了算法的概念以及关键路径的基本思想和算法思想,结合例题更加深入的理解关键路径的思想.文献[6]-[12]主要叙述了改进的关键路径求解算法,与普通关键路径求解算法不同的是,这些改进的关键路径求解算法更方便,更容易接受检验.文献[12]-[14]主要叙述了动态规划法以及基于动态规划法的关键路径求解算法.

本文整体的思路是第一部分对关键路径的基本思想和算法思想进行解释与叙述,通过结合实例来理解如何在AOE网中求得关键路径.第二部分讲述了Dijkstra算法的概念,算法的思想、C++语言实现以及运用Dijkstra算法求最短路径的实例.第三部分叙述了基于Dijkstra算法求AOE网的关键路径,这里以Dijkstra算法为基础求出最短路径,把关键路径转化为最短路径,最后输出关键路径.

关键路径

关键路径概述

关键路径定义

用一个有向图表示一个具体工程的各子工程及其相互之间制约的关系,以一条弧表示工程活动,以一个顶点表示工程活动的开始或活动结束的事件,称这种有向图为边表示活动的网,简称AOE网.而在AOE网中有些活动可以同时进行,所以完成工程的最短时间是从开始点到完成点的最长路径的长度(这里所说的路径长度是指路径上各活动持续时间之和,不是路径上弧的数目),路径长度最长的路径叫做关键路径REF_Re\r\h[1].

确定关键路径

它是如何确定的?首先需定义以下描述量:

(1)表示事件的最早发生时间;

(2)表示事件的最迟发生时间;

(3)表示活动的最早开始时间;

(4)表示活动的最迟开始时间.

活动的最早开始时间是由事件的最早发生时间决定的,而事件的最迟开始时间是在不耽误工程进度的条件下,活动在最晚限度下开工的时间,两者之差表示完成活动的时间余量,并把的活动叫做关键活动.由以上叙述,找出关键活动就是要找,即的活动,那么如何找的关键活动?具体步骤如下:

第一步:设活动用弧表示,其持续时间记为,则有计算公式:;,由此可得到的最早和最迟开始时间.

第二步:接着求和.从开始逐渐往前推理得到,,,其中是所有以为头的弧的集合.

V1V2V3V4V5V6a1=30

V1

V2

V3

V4

V5

V6

a1=30

a2=60

a3=45

a4=60

a5=30

a6=15

例1下面用以上叙述来分别求解最早最迟发生时间和最早最迟开始时间.

图SEQ图\*ARABIC1

图SEQ图\*ARABIC1AOE网

事件的最早发生时间为0,即,事件的最早发生时间为30,即.事件的最早发生时间是90,即,事件的最早发生时间分别为、、.

第二步:求解最迟发生时间.

事件的最迟发生时间是180,事件的最迟发生时间为,事件的最迟发生时间为165,即,事件的最迟发生时间,事件的最迟发生时间为,事件的最迟发生时间为0.

第三步:求解最早、最迟开始时间.

由;得到每个活动的最早、最迟开始时间,结果如下表:

表SEQ表\*ARA

文档评论(0)

02127123006 + 关注
实名认证
内容提供者

关注原创力文档

1亿VIP精品文档

相关文档