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

Cycle Detection in Graphs - Algorithm Vision | Algorithm Vision