关键路径 详解 (前置知识:拓扑排序)
圖論之關(guān)鍵路徑講解
回顧所需知識:
拓?fù)渑判?/h2>
對一個(gè)有向無環(huán)圖(Directed Acyclic Graph簡稱DAG)G進(jìn)行拓?fù)渑判?#xff0c;是將G中所有頂點(diǎn)排成一個(gè)線性序列,使得圖中任意一對頂點(diǎn)u和v,若邊(u,v)∈E(G),則u在線性序列中出現(xiàn)在v之前。
拓?fù)渑判?strong>對應(yīng)施工的流程圖具有特別重要的作用,它可以決定哪些子工程必須要先執(zhí)行,哪些子工程要在某些工程執(zhí)行后才可以執(zhí)行。為了形象地反映出整個(gè)工程中各個(gè)子工程(活動)之間的先后關(guān)系,可用一個(gè)有向圖來表示,圖中的頂點(diǎn)代表活動(子工程),圖中的有向邊代表活動的先后關(guān)系,即有向邊的起點(diǎn)的活動是終點(diǎn)活動的前序活動,只有當(dāng)起點(diǎn)活動完成之后,其終點(diǎn)活動才能進(jìn)行。
通常,我們把這種頂點(diǎn)表示活動、邊表示活動間先后關(guān)系的有向圖稱做頂點(diǎn)活動網(wǎng)(Activity On Vertex network),簡稱AOV網(wǎng)。
一個(gè)AOV網(wǎng)應(yīng)該是一個(gè)有向無環(huán)圖,即不應(yīng)該帶有回路,因?yàn)槿魩в谢芈?#xff0c;則回路上的所有活動都無法進(jìn)行(對于數(shù)據(jù)流來說就是死循環(huán))。在AOV網(wǎng)中,若不存在回路,則所有活動可排列成一個(gè)線性序列,使得每個(gè)活動的所有前驅(qū)活動都排在該活動的前面,我們把此序列叫做拓?fù)湫蛄?Topological order),由AOV網(wǎng)構(gòu)造拓?fù)湫蛄械倪^程叫做拓?fù)渑判?Topological sort)。
AOV網(wǎng)的拓?fù)湫蛄胁皇俏ㄒ坏?#xff0c;滿足上述定義的任一線性序列都稱作它的拓?fù)湫蛄小?/p>
拓?fù)渑判虻膶?shí)現(xiàn)步驟※
因此,也可以通過拓?fù)渑判騺砼袛嘁粋€(gè)圖是否有環(huán)。
AOE網(wǎng)介紹
AOE-網(wǎng)只是比AOV-網(wǎng)多了一個(gè)邊的權(quán)重,而且AOV-網(wǎng)一般是設(shè)計(jì)一個(gè)龐大的工程各個(gè)子工程實(shí)施的先后順序,而我們的AOE-網(wǎng)就是不僅僅關(guān)系整個(gè)工程中各個(gè)子工程的實(shí)施的先后順序,同時(shí)也關(guān)系整個(gè)工程完成最短時(shí)間。
通常在AOE網(wǎng)中列出完成預(yù)定工程計(jì)劃所需要進(jìn)行的活動,每個(gè)活動計(jì)劃完成的時(shí)間,要發(fā)生哪些事件以及這些事件與活動之間的關(guān)系,從而可以確定該項(xiàng)工程是否可行,估算工程完成的時(shí)間以及確定哪些活動是影響工程進(jìn)度的關(guān)鍵
AOE網(wǎng)特點(diǎn)
AOE-網(wǎng)還有一個(gè)特點(diǎn)就是:只有一個(gè)起點(diǎn)(入度為0的頂點(diǎn))和一個(gè)終點(diǎn)(出度為0的頂點(diǎn)),并且AOE-網(wǎng)有兩個(gè)待研究的問題:
1、完成整個(gè)工程需要的時(shí)間
2、哪些活動是影響工程進(jìn)度的關(guān)鍵
關(guān)鍵路徑介紹
關(guān)鍵路徑:AOE-網(wǎng)中,從起點(diǎn)到終點(diǎn)最長的路徑的長度(長度指的是路徑上邊的權(quán)重和)
關(guān)鍵活動:
假設(shè)起點(diǎn)是vo,則我們稱從v0到vi的最長路徑的長度為vi的最早發(fā)生時(shí)間
同時(shí),vi的最早發(fā)生時(shí)間也是所有以vi為尾的弧所表示的活動的最早開始時(shí)間
使用e(i)表示活動ai最早發(fā)生時(shí)間,除此之外,我們還定義了一個(gè)活動最遲發(fā)生時(shí)間,使用l(i)表示,不推遲工期的最晚開工時(shí)間。我們把e(i)=l(i)的活動ai稱為關(guān)鍵活動,因此,這個(gè)條件就是我們求一個(gè)AOE-網(wǎng)的關(guān)鍵路徑的關(guān)鍵所在了。
求關(guān)鍵路徑的步驟
代碼實(shí)現(xiàn)
例題
SDUT2498
看不懂的可以自取視頻理解,多看兩遍就差不多了
總結(jié)
以上是生活随笔為你收集整理的关键路径 详解 (前置知识:拓扑排序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32项目_stm32f103c8t
- 下一篇: 洛谷P3386:网络流之二分图匹配,最大