Algorithmes de grapheIntermediate
Détection de cycle (Algorithme de Floyd)
Aussi connu sous le nom d'algorithme de la 'tortue et du lièvre', cette technique élégante détecte les cycles dans les listes chaînées ou les séquences en utilisant O(1) d'espace. Utilise deux pointeurs se déplaçant à des vitesses différentes - s'il y a un cycle, ils finiront par se rencontrer. Essentiel pour détecter les boucles infinies, analyser les structures de graphes et valider l'intégrité des données.
#graph#dfs#cycle-detection#dependency-resolution
Complexity Analysis
Time (Average)
O(V + E)Expected case performance
Space
O(V)Memory requirements
Time (Best)
O(V + E)Best case performance
Time (Worst)
O(V + E)Worst case performance
How it works
- • Uses DFS with recursion stack
- • White nodes: unvisited
- • Gray nodes: in recursion stack
- • Black nodes: completed
- • Cycle found when back edge detected
Step: 1 / 0
500ms
SlowFast
Keyboard Shortcuts
Space Play/Pause← → StepR Reset1-4 Speed
Real-time Statistics
Algorithm Performance Metrics
Progress0%
Comparisons
0
Swaps
0
Array Accesses
0
Steps
1/ 0
Algorithm Visualization
Step 1 of 0
Initialize array to begin
Default
Comparing
Swapped
Sorted
Code Execution
Currently executing
Previously executed
Implementation