3レベルのツリー状のデータ構造の最適な実装(維持しやすい、合理的に高速で堅牢な)は何ですか? すべての値(ノード)に固有のキーがあるので、DictionaryまたはSortedDictionaryを使用したいと思います。C#の固定深度のツリー状データの最適なデータ構造は何ですか?
第1レベルは、第2レベルのこれらの0から10までの(ほぼ100を超えない、通常は10未満の)アイテムと、第3レベルの約10のアイテムとを有すると想定される。レベル2と3は密接に結びついているので、おそらく単一のオブジェクトで表現されるはずです。すべての関係は1:nは
++-L1
|++-L2
||+--L3
||+--...1 to 10 L3 items for each L2
||+--L3
|+--L2
|+--...0 to 100, usually <10 L2 items for each L1
|+--L2
+--L1
+--L1
+--...about 300 L1 items
+--L1
は、1つのディレクトリにすべての第二レベルのオブジェクトを配置するLEVEL2オブジェクト(リアルツリー)、またはそれが優れているを含むすべての第一レベルのオブジェクト内の辞書を作成する方が良いですか?
オブジェクトはそれほど大きくなく、文字列と数字だけが含まれています。アプリケーションはスタンドアロン(SQL Serverなどは必要ありません)とされています
またはオブジェクト表現が間違っていますか?
あなたはツリー上で検索を行う予定ですか? –
実際の検索ではありませんが、いくつかのフィルタリングを追加する予定です(これはおそらくデータ構造の観点から同じです)。 – Lukas