首先先引入一段概念:
在乙個表示工程的有向圖中,用頂點表示活動,用弧表示活動之間的優先關係。這樣的有向圖為頂點表示活動的網,我們稱為aov網(activity on vertex network)。
程式語言(以c語言為例)中定義為:在乙個有向圖中,若用頂點代表活動,邊代表活動間先後關係,稱該有向圖為頂點活動網,簡稱aov網。在aov網中,若從頂點i到頂點j之間存在一條有向路徑,稱頂點i是頂點j的前驅,或者稱頂點j是頂點i的後繼。若
拓撲排序演算法,只適用於aov網(有向無環圖)
把aov網中的所有活動排成乙個序列(就是事情的先後順序),使得每個活動的前驅總在當前活動的前面,後繼在他的後面,這個過程叫做拓撲排序,所得到的序列叫做拓撲序列!
下面一張更形象:
ans;//定義棧 //也可以使用佇列!!!
vector
son[105];//每個人儲存的兒子
int enter[105];//儲存兒子的爸爸的入度。
void init();
int main()
}while(flag//如果沒有找夠人,就找!!! }}
return0;}
void init()//讀入操作 }}
初識AOV拓撲排序
首先先引入一段概念 在乙個表示工程的有向圖中,用頂點表示活動,用弧表示活動之間的優先關係。這樣的有向圖為頂點表示活動的網,我們稱為aov網 activity on vertex network 程式語言 以c語言為例 中定義為 在乙個有向圖中,若用頂點代表活動,邊代表活動間先後關係,稱該有向圖為頂點...
拓撲排序與AOV
在乙個表示工程的有向圖中,用頂點表示活動,用弧表示活動之間的優先關係,稱這樣的有向圖為頂點表示活動的網,即aov網 activity on vertex network aov網中的弧表示活動之間存在某種制約關係。aov網中不能出現迴路。測試aov網是否存在迴路的方法就是對aov網進行拓撲排序。設g...
AOV網 拓撲排序
aov網路 拓撲排序 前面說了兩個有環的應用 有環 最小生成樹 普利姆演算法,克魯斯卡爾演算法 有環 最短路徑 迪傑斯特拉演算法,弗洛伊德演算法 現在我們說下沒環的圖 在乙個有向圖中,用頂點表示活動,用邊表示頂點活動之間的優先關係,這樣的網我們叫aov網 activity on vertex net...