日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AOE网与AOV网

發布時間:2025/3/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AOE网与AOV网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有向無環圖(Directed Acycline Graph, DAG)是一類特殊的有向圖。DAG有著廣泛應用,AOE網和AOV網都是DAG的典型應用。

AOV網

AOV網(Activity On Vertex NetWork)用頂點表示活動,邊表示活動(頂點)發生的先后關系。AOV網的邊不設權值,若存在邊<a,b>則表示活動a必須發生在活動b之前。

若網中所有活動均可以排出先后順序(任兩個活動之間均確定先后順序),則稱網是拓撲有序的,這個順序稱為網上一個全序。(詳情參見離散數學/圖論相關內容)。

在AOV網上建立全序的過程稱為拓撲排序的過程,這個算法并不復雜:

  • 在網中選擇一個入度為0的頂點輸出

  • 在圖中刪除該頂點及所有以該頂點為尾的邊

  • 重復上述過程,直至所有邊均被輸出。

若圖中無入度為0的點未輸出,則圖中必有環。

程序源碼:

#include<stdlib.h> #include<stdio.h> #include<string.h>#define M 10001int n, m, matrix[M][M], i, j; int book, indegree[M]; //book 已排序的頂點個數int main(){int a, b, k;scanf("%d %d",&n, &m);//initfor (i=1; i<=m; i++) {scanf("%d %d",&a, &b);matrix[a][b]=1;indegree[b]++;}for (i=1; i<=n; i++) {for (j=1; j<=n; j++) {if (indegree[j] == 0) { //遍歷所有入度為0的頂點indegree[j] = -1;book++;for (k=1; k<=n; k++) {if (matrix[j][k]==1) { //遍歷所有入度為1的頂點matrix[j][k]=0; //remove edge eindegree[k]--; //update}}break;}}}printf("%d\n", book);return 0; }

AOE網

AOE網(Activity On Edge Network)是邊表示活動的網,AOE網是帶權有向無環圖。邊代表活動,頂點代表 所有指向它的邊所代表的活動 均已完成 這一事件。由于整個工程只有一個起點和一個終點,網中只有一個入度為0的點(源點)和一個出度為0的點(匯點)。

相關時間的計算:

  • 事件最早發生時間:

即之前所有活動均完成所需的時間,由耗時最長的路徑決定。

具體判斷時可以在 直接前驅的最早發生時間 + 兩者之間活動時間 組成的集合中尋找最大值。

  • 事件的最晚發生時間:

事件的最晚發生時間以不影響工程最終完成時間為原則。

源點(匯點)的最早發生時間和最晚發生時間相同。

對與事件j的最晚發生時間可以采用:匯點的發生時間減去到j的最長路徑來求得。

  • 活動的最早開始時間:

活動的的開始時間與事件發生時間相互聯系,活動的最早發生時間為其起點事件的最早發生時間。

  • 活動的最晚開始時間

活動的最晚開始時間為其終點的最晚開始時間減去活動進行的時間。

轉載于:https://www.cnblogs.com/Finley/p/5236312.html

總結

以上是生活随笔為你收集整理的AOE网与AOV网的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。