拓撲排序筆記

本篇內容爲視頻筆記,視頻地址爲:https://www.bilibili.com/video/BV1Ut41197TE?from=search&seid=17921312669232031384算法

 

一,有向無環圖ide

 定義:無環的有向圖,簡稱 DAG視頻

 

       有向無環圖經常使用於描述一個工程或者系統的進行過程。(一般將計劃,施工,生產,程序流程等當成一個工程)blog

       一個工程能夠分爲若干子工程,只要完成這些子工程(活動),就能夠完成總體工程。排序

 

那麼這些工程有兩種表示方法:AOV網 和 AOE網程序

AOV 網:(解決 拓撲排序 問題)方法

 用一個有向圖表示工程的各子工程及其相互制約的關係,其中 頂點表示活動,弧表示活動之間的優先制約關係,im

稱這種有向圖爲 頂點表示活動的網,簡稱 AOV圖表

AOE 網:(解決 關鍵路徑 問題)img

 用一個有向圖表示工程的各子工程及其相互制約的關係,其中 弧表示活動,頂點表示活動的開始和結束

稱這種有向圖爲 邊表示活動的網,簡稱 AOE

 

二,AOV 網的特色

1,若從 i 到 j 有一條路徑,則 i 是 j 的前驅 ,j 是 i 的後繼;

2,若 < i , j > 是網中的有向邊,則 i 是 j 的直接前驅 ,j 是 i 的直接後繼

3,AOV 網不容許有 迴路,由於若是存在迴路的話,則說明 某項活動 是以本身爲先決條件的,

這是荒謬的。

 

三,拓撲排序

① 例題:排課表

 

 隨便畫的,和原來不同,意思一下。

 

 

② 拓撲有序序列

在 AOV 網沒有迴路的前提下,咱們將所有活動排成一個線性序列,使得 AOV 網有弧 <i,j> 存在,

則在這個序列中,i 必定在 j 的簽名,具備這種性質的線性序列稱爲 拓撲有序序列,相應的算法 稱爲

拓撲排序。

 

③ 拓撲排序 的方法

1,在有向圖中 任何選一個沒有前驅的 頂點 且輸出它。

2,從圖中刪除 該頂點 及 全部以它爲尾的弧。

3,重複上述兩步,直至所有頂點均輸出 或者 圖中不存在 無前驅的頂點 爲止

注意:輸出的即爲拓撲序列,且拓撲序列不惟一

 

④ 拓撲排序的一個應用

檢查 AOV 網 是否存在 環

對於有向圖構造其頂點的 拓撲有序序列,若網中全部頂點都在他的拓撲有序序列中,則該 AOV 網 中

一定不存在 環。

 

============ ========= ======== ====== ===== ==== === == =

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息