我需要關於排列的一些幫助。排列數據結構
我的問題是這樣的:在我們的系統中,我們有各種運行各種軟件組件的設備。
Software1: v1
Software2: v1
Software3: v1
Software1: v1
Software2: v2
Software3: v1
Software1: v2
Software2: v1
Software3: v1
:IM有意尋找說組件的版本的所有排列(獨特的組合),並與元組或結構的ALA這
struct Permutation
{
IComparable Software1{ get; set; }
IComparable Software2{ get; set; }
IComparable Software3{ get; set; }
}
列表結束,然後用像這樣的列表結束
該軟件存在於以樹結構(節點 - >項目)組織的各種組件中。該類型的子節點的告訴我,看看哪一種軟件了
Node->Root (L0)
Node->Parent (L1)
Node->ChildType1 (L2): has property Software1, Software2
Node->ChildType2 (L2): has property Software3
我可以很容易地node.Children
(IList<Node>
)和node.Parent
(Node
)瀏覽樹。
我想按順序迭代樹並構建所有排列的列表。 .net框架中是否存在一個很好的現有數據結構,我可以使用它,或者有沒有人對如何解決它有任何建議?
你應該顯示一些代碼;我很難弄清楚這棵樹現在爲我排序了什麼\ – sehe
我剛剛在我的網站上寫了一篇有關通用樹結構的文章。也許這會有所幫助。 [通用訪問者模式](http://www.segerlabs.com/generic-visitor-pattern.aspx) –