- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计工程工期计算
《数据结构》课程设计指导意见
课程设计的题目和适用范围
题目:工程的工期计算。
该指导意见只供2015级计算机科学与技术1~6班同学参考。
课程设计的目的
数据结构是计算机科学与技术、信息管理、数媒专业的重要的专业基础课,是计算机系统软件和应用软件开发的重要理论和技术。课程设计内容主要用到图的结构。所以课程设计目的要求掌握AOE网,关键路径、事件的最早发生时间、事件的最迟发生时间、活动的最早开始时间、活动的最迟开始时间的计算,以便求出关键路径的长度和完成一项工挰所需时间。(即工程的工期 )
3、课程设计的内容
已知有向网,图中各顶点代表事件,有向边代表活动,权表示完成活动所需时间(天数) 。求以下内容:
·事件的最早开始时间和最晚开始时间。
·每项活动的最早开始时间和最迟开始时间。
·关键活动和关键路径。
·完成工程最少需要的天数。(工期)
·是否存在某项活动,当其提高速度后能使整个工程缩短工期?
a3=3 a7=4
a1=5 a12=4
a4=6 a6=3
a10=5
a2=6 a8=1 a13=2
a5=3 a9=4 a11=2
(1) 事件计算公式
· 事件Vk的最早发生时间Ve(k),是指从源点V1到Vk的最长路径长度。这个时间决定了所有从VK发出的弧所表示的活动能够开工的最早日期。计算公式如下:
Ve(1)=0
Ve(k)=max{Ve(j)+dut(j,k ) }上的权。
上述公式是一个从源点开始的递推公式,Ve(K)的计算必须在Vk的所有前驱顶点的最早发生时间全部求出后才能进行。
·事件Vi 的最迟发生时间Vl(i) ,是指在不拖延整个工程工期的情况下,事件Vi所允许的最晚发生时间。其数值是从汇点的最早发生时间Ve(n)=Vl(n). 其它顶点的最晚发生时间都应从汇点开始,向源点方向递推求得,计算公式事下:
Vl(n)= Ve(n)
Vl(i)= min{Vl(j)-dut(I,j) }上的权.
Vl(i) 的计算必须在顶点I 的所有后继顶点的最晚发生时间全部求出后才能进行。
(2)活动计算公式
·活动ai 的最早开始时间e(i),( 设边 Vj,Vk 表示活动ai,) 则有:
e(i)=Ve(j)
说明活动ai的最早开始时间等于事件Vj 的最早发生时间。
·活动ai 的最迟开始时间 l(i), (设边 Vj,Vk 表示活动ai) ,是指不推迟整个工程工期的情况下,允许该活动最晚开始的时间。则计算公式如下:
l(i) = Vl(k)-dut(j,k)
即该活动的终点所表示的事件最迟发生时间与该活动所需时间之差。
(3)关键路径计算
l(i) -e(i) =0,即l(i)=e(i)的活动ai 是关键活动。
若l(i) -e(i) ≠0 ,其时间余量表示不影响工期的情况下,活动可以拖延的时间。
4、要求
(1)完成程序设计。并计算出正确结果。
(2) 按照课程设计的报告的要求。完成课程设计报告。
5、时间按排
按本学期教务处课程设计时间表执行。(2016~2017第一学期)。13~16周.共16学时。
6、评分标准
平时成绩 20%,程序50%,课程设计报告 30%。
7、算法分析
第一步:建 立邻接表。
第二步:拓扑排序。
第三步:事件的最早发生时间。
第四步:事件的最晚发生时间。
第五步:求关键路径。
第六步:求活动的最 早、最晚发生时间。
第七步:计算关键路径并输出。
输出事件最早和最晚发生时间:
输出关键路径上的数据和总工期:
输出关键路径:
附计算结果:(以下内容要求在程序中输出)
要求输出邻接表和以下内容:
所有事件的最早发生时间:
Ve(1)=0
Ve(2)=5
Ve(3)=6
Ve(4)=max{ve(2)+3,ve(3)+6}=12
Ve(5)=max{ve(3)+3,ve(4)+3}=15
Ve(6)=ve(4)+4=16
Ve(7)=ve(5)+1=16
Ve(8)=ve(5)+4=19
Ve(9)=max{ve(8)+2,ve(7)+5}=21
Ve(10)=max{ve(6)+4,ve(9)+2}=23
所有事件的最迟发生时间:
Vl(10)=23
Vl(9)=vl(10)-2=21
Vl(8)=vl(9)-2=19
Vl(7)=vi(9)-5=16
Vl(6)=vl(10)-4=19
Vl(5)=min{vl(7)-1,vl(8)-4}=15
Vl(4)=min{vl(6)-4,vl(5)-3}=12
Vl(3)=min{vl(4)-6,vl(5)-3}=6
Vl(2)=vl(4
文档评论(0)