Estoy buscando ayuda para comprender el algoritmo de detección de ciclo de Floyd. He revisado la explicación en wikipedia ( http://en.wikipedia.org/wiki/Cycle_detection#Tortoise_and_hare )
Puedo ver cómo el algoritmo detecta el ciclo en el tiempo O (n). Sin embargo, no puedo visualizar el hecho de que una vez que los punteros de la tortuga y la liebre se encuentran por primera vez, el inicio del ciclo se puede determinar moviendo el puntero de la tortuga hacia atrás para comenzar y luego moviendo la tortuga y la liebre un paso a la vez. El punto donde se encuentran por primera vez es el comienzo del ciclo.
¿Alguien puede ayudar proporcionando una explicación, con suerte diferente a la de wikipedia, ya que no puedo entenderla / visualizarla?
fast
variable, o la "liebre" necesita moverse al doble de velocidad que la tortuga, en lugar de solo una adelante?