2015-11-22 66 views
1

我構建了一個類似於項目構建的系統。一個項目有一組輸入和輸出。一個項目可能依賴於其他項目。我可以使用拓撲排序並找到我必須評估項目的順序。但是,我如何平行構建。 Toposort並沒有給予可以並行構建的項目的排名。另外,我如何做增量構建。什麼是解決依賴構建的算法?

回答

1

您可以並行構建所有沒有任何依賴關係的項目。生成後從圖形中刪除建成的項目,並再次建立沒有依賴關係的項目。重複,直到圖表爲空。

在僞代碼

  1. 建立工程圖
  2. 驗證圖形(如循環依賴)
  3. 找到不依賴的所有項目,而不是根據構建
  4. 開始建設3都發現並將其標記建
  5. 從圖中等待建立一個最終建立的項目
  6. 如果圖不是空的Ÿ去3
  7. 等待休息建立
+0

@hvd我編輯我的職務,我覺得現在很清楚 – BWA

+0

呀,如果你重新檢查,每次一期工程已建設完畢後,你確實避免問題我在說。 – hvd