Quelle est la mise en œuvre optimale (facile à maintenir, raisonnablement rapide, robuste) de la structure de données arborescente à trois niveaux? Je voudrais utiliser Dictionary ou SortedDictionary, car toutes les valeurs (nœuds) ont des clés uniques.Quelle est la meilleure structure de données pour les données arborescentes de profondeur fixe en C#?
Le premier niveau est censé contenir environ 300 éléments, chacun de ces éléments allant de zéro à dix (à peine plus de 100, habituellement moins de 10) au deuxième niveau et environ dix au troisième niveau. Les niveaux deux et trois sont étroitement liés donc ils devraient être probablement représentés par un seul objet. Toutes les relations sont 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
Est-il préférable de créer un dictionnaire dans tous les 1er objet de niveau contenant des objets Level2 (un vrai arbre) ou est-il préférable de mettre tous les objets 2e niveau dans un seul répertoire?
Les objets ne sont pas très gros, ils contiennent seulement quelques chaînes et nombres. L'application est supposée être autonome (ne nécessitant pas de serveur SQL ou autre)
Ou est la représentation d'objet un mauvais choix et je devrais aller pour quelque chose de totalement différent?
Avez-vous prévu de faire des recherches sur l'arbre? –
Pas vraiment une recherche, mais je prévois d'ajouter un peu de filtrage (ce qui est probablement le même du point de vue de la structure de données ... – Lukas