Ce problème, pour moi, semble très intéressant. Il était sur le point de trouver un cycle simple (c'est-à-dire un cycle où ne sont pas des nœuds répétés) dans un graphe orienté.
Ma solution va comme ceci, c'est-à-dire que ce graphique est un problème de cas:
Je sais qu'il y a un cycle dans un graphique, quand vous pouvez trouver des "bords arrières" dans une recherche en profondeur d'abord (en pointillés sur ma photo dans DFSTree), et pendant un moment, je peux en être sûr pendant quelques cycles, mais pas pour tous, des cycles simples. Parce que les egdes dirigés sont si importants pour un cycle, c'est-à-dire (0123)! = (0321)
Je pense à faire un dfs pour chaque nœud avec des arrières, mais je ne suis pas sûr et ce n'est pas clair. Alors, je vous demande, si vous me guidez. Merci!.
Voici mon nombre de boucles simples pour mon problème de cas.
la source
Réponses:
Cette question semble être très googleable. Par exemple, vous pourriez être intéressé par l'algorithme présenté dans cet article:
Trouver tous les circuits élémentaires d'un graphe orienté . Donald B. Johnson. SIAM J. COMPUT. Vol. 4, n ° 1, mars 1975
L'article contient un algorithme complet.
la source