Bonjour,
je n'arrive pas à créer un algorithme permettant de résoudre mon problème. J'ai pensé à une fonction récursive mais je n'y arrive pas. Voici mon problème :
Je possède un fichier (environ 100000 lignes) de la forme suivante
1 : 2
1 : 3
1 : 4
2 : 6
2 : 7
4 : 6
4 : 7
6 : 1
6 : 7
7 : 2
8 : 1
Ce fichier peut aussi être écrit comme cela :
1 : (2,3,4)
2 : (6,7)
4 : (6,7)
6 : (1,8)
7 : (2)
8 : (1)
Ce que je veux faire, c'est trouver tous les cycles possibles. Par exemple :
1 -> 2 -> 6 -> 1
1 -> 4 -> 6 -> 1
2 -> 7 -> 2
6 -> 8 ->1 -> 2 -> 6.
Les chemins suivants sont à ignorer :
1 -> 3 qui n'existe pas : on s’arrête.
Si un chemin ne donne pas de cycle il doit être ignoré.
Pour chaque valeur, j'ai une liste de 0 à 10 éléments.
Si quelqu'un peut me donner une idée...
Merci
Partager