Algoritmos de GrafosIntermediate

Detección de Ciclos (Algoritmo de Floyd)

También conocido como el algoritmo de la 'tortuga y la liebre', esta elegante técnica detecta ciclos en listas enlazadas o secuencias usando espacio O(1). Usa dos punteros que se mueven a diferentes velocidades; si hay un ciclo, eventualmente se encontrarán. Esencial para detectar bucles infinitos, analizar estructuras de grafos y validar la integridad de los datos.

#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