Je travaille sur un algorithme pour trouver tous les chemins entre deux nœuds dans un graphique. Ca y est, j'ai pu encoder tous les chemins dans un tableau de chaînes comme suit:Tableau de chaînes en Java
String []paths = new String[50];
Note: J'utilise un tableau de chaînes pour stocker les chemins, mais je peux les stocker dans toutes les autres données structure si nécessaire.
échantillon des données dans mon tableau serait quelque chose comme le tableau ci-dessous, notez que les lettres sont mes données les traits d'union utilisés pour la visualisation seulement:
-----------
| A | B | C |
-----------
| D | E | |
-----------
Tout ce que je besoin est de traiter le tableau ci-dessus et sortie toutes les combinaisons que:
ABC
AEC
DBC
DEC
j'ai essayé de résoudre ce problème en utilisant l'approche itérative « boucles », mais j'échoué. Je pense que nous pourrions le faire avec récursivité, mais je ne suis pas sûr de savoir comment faire cela. En outre, je ne suis pas au courant s'il existe une structure de données qui traite de ce problème. Quelque chose de mieux pour stocker les chemins plutôt qu'un tableau de chaînes?
Quoi qu'il en soit, voici ce que je travaille avec des boucles:
String []temp = new String[100];
for(r=0; r<paths.length ;r++)
for(c=0; c<paths[r].length() ;c++)
for(j=c+1; j<paths[r].length() ;j+1)
temp[r] += paths[j];
Je suis sûr que vous avez essayé quelque chose, mais il ne fonctionne pas, non? Pourriez-vous s'il vous plaît partager une partie de votre code? Cela vous aidera à résoudre le problème plus facilement. – dasblinkenlight
Vous avez oublié d'ajouter la balise "S'il vous plaît, faites ma demande" – Bohemian
@dasblinkenlight J'ai mis à jour la question. – user1899713