Floyd's cycle detection trova un ciclo in una sequenza (come una linked list) usando due puntatori che si muovono a velocità diverse. Se un ciclo esiste, il puntatore veloce raggiunge e incontra quello lento. Usa O(1) spazio extra.
L'idea
Sposta un puntatore slow di un passo e un puntatore fast di due passi. In un ciclo, il gap si riduce di uno ogni passo, quindi devono collidere; senza un ciclo, il puntatore veloce raggiunge la fine.
