數(shù)據(jù)結(jié)構(gòu)拓?fù)渑判蚶} 拓?fù)渑判蚝完P(guān)鍵路徑是如何實(shí)現(xiàn)的?
拓?fù)渑判蚝完P(guān)鍵路徑是如何實(shí)現(xiàn)的?拓?fù)渑判虻膶?shí)現(xiàn)步驟:AOV網(wǎng)構(gòu)造拓?fù)湫蛄械耐負(fù)渑判蛩惴ㄖ饕茄h(huán)執(zhí)行以下三個(gè)步驟,直到?jīng)]有度為0的頂點(diǎn)為止;(1)選擇度為0的頂點(diǎn)并輸出;(2)刪除網(wǎng)絡(luò)中的頂點(diǎn)和所有外
拓?fù)渑判蚝完P(guān)鍵路徑是如何實(shí)現(xiàn)的?
拓?fù)渑判虻膶?shí)現(xiàn)步驟:AOV網(wǎng)構(gòu)造拓?fù)湫蛄械耐負(fù)渑判蛩惴ㄖ饕茄h(huán)執(zhí)行以下三個(gè)步驟,直到?jīng)]有度為0的頂點(diǎn)為止;(1)選擇度為0的頂點(diǎn)并輸出;(2)刪除網(wǎng)絡(luò)中的頂點(diǎn)和所有外邊緣;(3) 循環(huán)后,如果輸出頂點(diǎn)的個(gè)數(shù)小于網(wǎng)絡(luò)中的頂點(diǎn)個(gè)數(shù),則輸出“循環(huán)”,否則,輸出頂點(diǎn)序列為拓?fù)湫蛄?。尋找關(guān)鍵路徑的算法:(1)輸入e弧<J,K>建立AOE網(wǎng)絡(luò)的存儲(chǔ)結(jié)構(gòu)。(2) 從震源點(diǎn)V1開(kāi)始,設(shè)ve(1)=0,求ve(J)2<=J<=n。(3)從交匯點(diǎn)VN開(kāi)始,設(shè)VL(n)=ve(n),求VL(I)1<=I<=n-1。(4) 根據(jù)每個(gè)頂點(diǎn)的VE和VL值,計(jì)算每個(gè)弧s(activity)的最早開(kāi)始時(shí)間e(s)和最晚開(kāi)始時(shí)間l(s),其中e(s)=l(s)是關(guān)鍵activity。
拓?fù)渑判蚝完P(guān)鍵路徑是如何實(shí)現(xiàn)的?
拓?fù)渑判虻膶?shí)現(xiàn)步驟如下:
AOV網(wǎng)構(gòu)造拓?fù)湫蛄械耐負(fù)渑判蛩惴ㄖ饕茄h(huán)執(zhí)行以下三個(gè)步驟,直到?jīng)]有度為0的頂點(diǎn);
(1)選擇度為0的頂點(diǎn)并輸出;
(2)刪除頂點(diǎn)從網(wǎng)絡(luò)中選擇度為0的頂點(diǎn),在循環(huán)的末尾輸出,如果輸出的頂點(diǎn)數(shù)小于網(wǎng)絡(luò)中的頂點(diǎn)數(shù),則輸出“循環(huán)”信息,否則輸出的頂點(diǎn)序列是拓?fù)湫蛄小?/p>
尋找關(guān)鍵路徑的算法:
(1)輸入e弧
(2)從源點(diǎn)V1開(kāi)始,設(shè)ve(1)=0,求ve(J)2
(3)從匯點(diǎn)VN開(kāi)始,設(shè)VL(n)=ve(n),求VL(I)1
(4)根據(jù)每個(gè)頂點(diǎn)的ve和VL值,找出每個(gè)弧s(活動(dòng))的最早開(kāi)始時(shí)間e(s)和最晚開(kāi)始時(shí)間l(s),其中e(s)=l(s)是關(guān)鍵活動(dòng)。