哪个高手给救一下,十分感谢。
求关键路径
设有一个工程网络如下图表示(无环路的有向图):
其中,顶点表示活动,①表示工程开始,⑤表示工程结束(可变,用N表示),边上的数字表示活动延续的时间。
如上图中,活动①开始5天后活动②才能开始工作,而活动③则要等①、②完成之后才能开始,即最早也要7天后才能工作。
在工程网络中,延续时间最长的路径称为关键路径。上图中的关键路径为:①—②—③—④—⑤共18天完成。
关键路径的算法如下:
1.数据结构:
数组 R 表示活动的延续时间,若无连线,则用-1表示;
EET 表示活动最早可以开始的时间
ET 表示活动最迟应该开始的时间
关键路径通过点J,具有如下的性质:EET(J)=ET(J)
2.约定:
结点的排列已经过拓扑排序,即序号前面的结点会影响序号后面结点的活动。
附参考程序清单(basic)
10 DIM R(20,20),EET(20),ET(20)
20 INPUT N
30 FOR I=1 TO N
40 FOR J=1 TO N
50 R(I,J)=-1
60 NEXT J,I
70 INPUT X,Y,W
80 IF X=0 THEN 110
90 R(X,Y)=W
100 ①
110 EET(1)=0
120 FOR I=2 TO N
130 MAX=0
140 FOR J=1 TO N
150 IF(R(J,I)〈 〉-1)AND ② THEN MAX=R(J,I)+EET(J)
160 NEXT J:EET(I)=MAX
170 NEXT I
180 ③
190 FOR I=N -1 TO 1 STEP -1
200 MIN=10000
210 FOR J=1 TO N
220 IF(R(I,J)〈 〉 -1) AND ④ THEN MIN=ET(J)-R(I,J)
230 NEXT J
240 ET(I)=MIN
250 NEXT I
260 PRINT EET(N)
270 FOR I=1 TO N -1
280 IF ⑤ THEN PRINT I;“--->”;
290 NEXT I: PRINT N
300 END
我连题目都看不懂,谢谢各位啊,帮帮忙~