私は順列に関していくつかの助けが必要です。順列データ構造
私のシステムでは、さまざまなソフトウェアコンポーネントを実行するさまざまなデバイスがあります。
Software1: v1
Software2: v1
Software3: v1
Software1: v1
Software2: v2
Software3: v1
Software1: v2
Software2: v1
Software3: v1
:イム言っコンポーネントのバージョンのすべての順列(ユニークな組み合わせを)見つけることに興味を持っており、この
struct Permutation
{
IComparable Software1{ get; set; }
IComparable Software2{ get; set; }
IComparable Software3{ get; set; }
}
ALAタプルや構造体のリストで終わる次に、このようなリストで終わります
ソフトウェアは、ツリー構造(ノード - >アイテム)で編成されたさまざまなコンポーネント上に存在します。子ノードのタイプは、私は簡単にnode.Children
(IList<Node>
)とnode.Parent
(Node
)でツリーをナビゲートすることができます
Node->Root (L0)
Node->Parent (L1)
Node->ChildType1 (L2): has property Software1, Software2
Node->ChildType2 (L2): has property Software3
をルックアップするためにソフトウェアのどのようなものを私に伝えます。
私はツリーをインオーダ反復し、全ての順列のリストを作成したいと思います。このために使用できる.netフレームワークには、既存のデータ構造がありますか?それを解決する方法についての提案はありますか?
コードを表示する必要があります。先日私のサイトで汎用ツリー構造について書いたばかりです。\ – sehe
多分それが助けになるでしょう。 [General Visitor Pattern](http://www.segerlabs.com/generic-visitor-pattern.aspx) –