0
我在嘗試生成具有特定屬性的一組對象的所有可能組合。問題是這些對象只能以某種方式組合,並且當你「驗證」整個對象組合時,它必須滿足一定的條件。具有特定加入規則的項目的建築物組合
對象數據存儲在SQL Server數據庫(我有完全的控制權,因此,如果需要將數據以不同的方式排列它可以改變)
我處理的對象的簡化版本是
class Item {
public string Start {get;set;}
public string End {get;set;}
}
如果我有這些對象例如列表:
- 項{開始= 「A」,結束= 「B」}
- 項{開始= 「B」,結束= 「C」}
- 項{開始= 「B」,結束= 「A」}
所得該組項目中的輸出將是:
A - >乙
乙 - 「ç
乙 - >甲
A - >乙 - 」ç
例如
項目1可以與項目2結合生成A→B→C
但是項目2不能與項目3結合,因爲項目2的結束值與項目3的開始值不匹配。
也有「總體」的規則,其中開始和結束的整體組合不能導致項目進行:「 A - > B - > A
(項目1與項目3)。
可以有多達5個這些項目連接在一起。
是否有任何通用的方法來做到這一點或算法,實現相同的結果?
任何幫助(甚至指針),將不勝感激。
谷歌對於「定向圖」和循環,你手中有一個整體世界 – 2010-11-09 21:34:11