// 全域性棧
seqstacksq2;
typedef struct edgenode
edgenode;
typedef struct vertexnode
vertexnode, adjlist[maxvex];
typedef struct
graphadjlist, *graphadjlist;
// 構建節點
edgenode* buynode()
// 初始化圖
void initgraph(graphadjlist& g)
}// 建立圖
void creategraph(graphadjlist& g)
cout << "輸入13條弧的資訊(起點 終點 權值):" << endl;
for (i = 0; i < maxedge; ++i)
}// 列印輸入資訊的邏輯圖
void printgraph(graphadjlist &g)
cout << endl;
}}// 求拓撲序列
bool topologicalsort(graphadjlist g, int* petv)
for (i = 0; i < maxvex; ++i)
while (!sq1.isempty())
cout << g.adjlist[gettop].data << "-->";
pnode = g.adjlist[gettop].firstedge;
while (pnode != null)
}return ncnt != maxvex;
}// 關鍵路徑
void criticalpath(graphadjlist g, int* petv, int* pltv)
while (!sq2.isempty())
}// 求 ete, lte, 和 關鍵路徑
for (j = 0; j < maxvex; ++j)
}}void main()
cout << endl << "關鍵路徑:" << endl;
criticalpath(myg, petv, pltv);
cout << endl;}/*
建立圖:
輸入10個頂點資訊(頂點 入度):
0 01 1
2 13 2
4 25 1
6 17 2
8 19 2
輸入13條弧的資訊(起點 終點 權值):
0 1 3
0 2 4
1 3 5
1 4 6
2 3 8
2 5 7
3 4 3
4 6 9
4 7 4
5 7 6
6 9 2
7 8 5
8 9 3
列印圖的鄰接表邏輯結構:
列印aoe網的鄰接表邏輯圖:
0 0 -->[2 4] [1 3]
1 1 -->[4 6] [3 5]
1 2 -->[5 7] [3 8]
2 3 -->[4 3]
2 4 -->[7 4] [6 9]
1 5 -->[7 6]
1 6 -->[9 2]
2 7 -->[8 5]
1 8 -->[9 3]
2 9 -->
求拓撲序列(全域性棧sq2的值):
0-->1-->2-->3-->4-->6-->5-->7-->8-->9
列印陣列petv(各個事件的最早發生時間):
0 3 4 12 15 11 24 19 24 27
關鍵路徑:
:4:8
:3:4
:5:3
*/
AOE網 關鍵路徑
aov網中 無環有向圖中,頂點表示活動 邊表示先後順序。aoe網中 帶權有向圖中,頂點表示事件,有向邊表示活動,邊上的權值表示活動的持續時間。我們成為aoe網 activity on edge network aoe網中沒有入邊的頂點表示源點或始點,沒有出邊的叫終點或匯點。aoe網要建立在活動之間制...
aoe網關鍵路徑
總時間限制 10000ms 單個測試點時間限制 1000ms 記憶體限制 65536kb 描述求出所給的aoe 網的關鍵路徑。輸入若干行整數,第一行有2個數,分別為頂點數v和弧數a,接下來有a行,每一行有3個數,分別是該條弧所關聯的兩個頂點編號和弧的權值 輸出若干個空格隔開的頂點構成的序列 用小寫字...
AOE網 關鍵路徑
aov網中 無環有向圖中,頂點表示活動 邊表示先後順序。aoe網中 帶權有向圖中,頂點表示事件,有向邊表示活動,邊上的權值表示活動的持續時間。我們成為aoe網 activity on edge network aoe網中沒有入邊的頂點表示源點或始點,沒有出邊的叫終點或匯點。aoe網要建立在活動之間制...