Je suis en train de déterminer le meilleur moment algorithme efficace pour accomplir la tâche décrite ci-dessous.
J'ai un ensemble d'enregistrements. Pour cet ensemble de documents que j'ai données de connexion qui indique comment les paires de documents à partir de cet ensemble se connecter l'un à l'autre. En fait cela représente un graphe non-dirigé, avec les dossiers, les sommets et les données de connexion des bords.
Tous les enregistrements dans l'ensemble disposer des informations de connexion (c'est à dire pas des enregistrements orphelins sont présents; chaque enregistrement dans le jeu se connecte à un ou plusieurs autres enregistrements dans le jeu).
Je veux choisir deux enregistrements de l'ensemble et être en mesure de montrer tous les chemins entre les dossiers choisis. Par "chemins", je veux dire les chemins qui n'ont pas répété les dossiers dans le chemin d'accès (c'est à dire fini les chemins d'accès uniquement).
Remarque: Les deux dossiers choisi sera toujours différent (c'est à dire de début et de fin de sommet ne sera jamais la même; pas de cycles).
Par exemple:
Si j'ai les documents suivants: A, B, C, D, E et le suivant représente les connexions: (A,B),(A,C),(B,A),(B,D),(B,E),(B,F),(C,A),(C,E), (C,F),(D,B),(E,C),(E,F),(F,B),(F,C),(F,E) [si (A,B) les moyens d'enregistrer Un se connecte à enregistrer B]
Si j'ai choisi B comme mon enregistrement de début et E comme mon enregistrement de fin, je voudrais trouver tous les chemins à travers le record de connexions permettant la connexion de dossier B dossier E.
Tous les chemins reliant B à E: B->E B->F->E B->F->C->E B->A->C->E B->A->C->F->E
Ceci est un exemple, dans la pratique, j'ai peut-être des ensembles contenant des centaines de milliers d'enregistrements.