2012-01-24 20 views
3

對於阻止或報告反饋環路的抽象路由網絡,推薦實施什麼?在C++中防止反饋路由類設計

例如:

  • 甲調製乙
  • 乙調製Ç
  • Ç調製

這〔實施例將創建一個反饋環路。 A的最終值在分配之前是未知的,並且在該系統中A不能準確地調製依賴於A的值並因此獲得A的最終值。

實際的實現更復雜,只要不創建這種反饋環,任何值都可以調製任何其他值的更多通行證。

是否有任何庫或容器類型可能有助於解決此問題?

回答

2

從編程的角度來看,您正在查看有向圖,並試圖確定它是否是非循環圖。考慮到你使用的是C++,Boost Graph Library將是最明智的選擇。如果在圖上嘗試拓撲排序,當/包含循環(因爲只有非循環圖可以進行拓撲排序)時,它會失敗(通過拋出boost::not_a_dag)。

+0

非常感謝你,這個答案是完美的。 –