Je suis en train de convertir un VB6 en C# et je veux rendre ma structure de données qui détient des valeurs et des relations plus efficaces. Dans VB j'ai une collection de valeurs et une autre collection de relations entre ces valeurs avec des priorités pour ces relations. J'ai aussi un algorithme qui quand un ensemble de valeurs est passé à lui toutes les relations requises pour joindre ces valeurs ensemble est retourné. Par exemple, supposons que la collecte de valeurs contient de 1 à 10 et la collection de relations contientStructure de données pour les relations
1,2
3,2
5,2
2,8
8,10
9,10
Si l'entrée a été 1,9,10 les relations de retour serait -
1,2
2,8
8,10Comme il peut y avoir plusieurs chemins, le plus petit nombre de relations serait renvoyé mais il y a une mise en garde des priorités de relation. Si une relation a une priorité plus élevée, cette relation sera ajoutée et le reste des relations sera ajouté à partir de là. Je pense à utiliser un Disjoint-set data structure mais je ne suis pas sûr.
Des idées?
Merci
Plus d'informations -
Le nombre de valeurs serait normalement inférieur à 100 et les relations moins de 500. Les collections sont statiques et l'algorithme seront utilisés encore et encore à trouver des chemins. Aussi, je n'ai pas demandé cela, mais l'algorithme de Disjoint-set data structure serait-il le plus efficace?
merci, je crois que c'est la voie à suivre. En fait, j'ai lu les parties 1 à 4 de cet article, mais je ne suis jamais revenu pour lire les 2 dernières. Maintenant, je suppose que je dois :) –