数据结构课程设计指导(2015级)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》课程设计指导意见
1、课程设计的题目和适用范围
题目:工程的工期计算。
该指导意见只供2015级计算机科学与技术1~6班同学参考。2、课程设计的目的
数据结构是计算机科学与技术、信息管理、数媒专业的重要的专业基础课,是计算机系统软件和应用软件开发的重要理论和技术。课程设计内容主要用到图的结构。所以课程设计目的要求掌握AOE 网,关键路径、事件的最早发生时间、事件的最迟发生时间、活动的最早开始时间、活动的最迟开始时间的计算,以便求出关键路径的长度和完成一项工挰所需时间。(即工程的工期)
3、课程设计的内容
已知有向网,图中各顶点代表事件,有向边代表活动,权表示完成活动所需时间(天数) 。求以下内容:
·事件的最早开始时间和最晚开始时间。
·每项活动的最早开始时间和最迟开始时间。
·关键活动和关键路径。
·完成工程最少需要的天数。(工期)
·是否存在某项活动,当其提高速度后能使整个工程缩短工期?
(1) 事件计算公式
·事件Vk的最早发生时间Ve(k),是指从源点V1到Vk的最长路径长度。这个时间决定了所有从VK发出的弧所表示的活动能够开工的最早日期。计算公式如下:
Ve(1)=0
Ve(k)=max{Ve(j)+dut(
上述公式是一个从源点开始的递推公式,Ve(K)的计算必须在Vk的所有前驱顶点的最早发生时间全部求出后才能进行。
·事件Vi 的最迟发生时间Vl(i) ,是指在不拖延整个工程工期的情况下,事件Vi所允许的最晚发生时间。其数值是从汇点的最早发生时间Ve(n)=Vl(n). 其它顶点的最晚发生时间都应从汇点开始,向源点方向递推求得,计算公式事下:
Vl(n)= Ve(n)
Vl(i)= min{Vl(j)-dut() }上的权.
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(
即该活动的终点所表示的事件最迟发生时间与该活动所需时间之差。
(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、算法分析
第一步:建立邻接表。
第二步:拓扑排序。
第三步:事件的最早发生时间。
第四步:事件的最晚发生时间。
第五步:求关键路径。
第六步:求活动的最早、最晚发生时间。
第七步:计算关键路径并输出。
输出事件最早和最晚发生时间:
输出关键路径上的数据和总工期:
输出关键路径:
附计算结果:(以下内容要求在程序中输出)要求输出邻接表和以下内容:
1、所有事件的最早发生时间:
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
2、所有事件的最迟发生时间:
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)-3=9
Vl(1)=min{vl(2)-5,vl(3)-6}=0
3、活动的最早开始时间、最迟开始时间、及最早、最迟之差。
最早最迟差活动a1:e(1)=ve(1)=0 l(1)=vl(2)-5=4 d(1)=4 A2:e(2)=ve(1)=0 l(2)=vl(3)-6=0 d(2)=0
A3:e(3)=ve(2)=5 l(3)=vl(4)-3=9 d(3)=4
A4:e(4)=ve(3)=6 l(4)=vl(4)-6=6 d(4)=0
A5:e(5)=ve(3)=6 l(5)=vl(5)-3=12 d(5)=6
A6:e(6)=ve(4)=12 l(6)=vl(5)-3=12 d(6)=0
A7:e(7)=ve(4)=12 l(7)=vl(6)-4=15 d(7)=3
A8: e(8)=ve(5)=15 l(8) =vl(7)-1=15 d(8)=0
A9: e(9)=ve(5)=15 l(9)=vl(8)-4=15 d(9)=0