Este NO es el problema sobre la detección de ciclo en una lista vinculada utilizando el método famous Hare and Tortoise.Detección de ciclo en una lista vinculada: Teoría exhaustiva
En el método de la tortuga & Tortoise tenemos punteros funcionando en velocidades 1x y 2x para determinar que se encuentran y estoy convencido de que es la forma más eficiente y el orden de ese tipo de búsqueda es O (n).
El problema es que tengo que encontrar una prueba (prueba o desaprobación) de que es posible que dos punteros siempre se encuentren cuando la velocidad de movimiento es Ax (A veces x) y Bx (B veces x) y A no es igual a B. Donde A y B son dos enteros aleatorios que operan en una lista vinculada con un ciclo presente.
Esto fue preguntado en una de las entrevistas a las que asistí recientemente y no pude demostrar de manera exhaustiva a mí mismo que si lo anterior es posible. Cualquier ayuda apreciada.
"Esta nueva secuencia tiene un ciclo si y solo si la secuencia original lo hace" - esto es falso. –
@ n.m .: ¿Uh? para una lista enlazada, la propiedad de repetir el bucle no se modifica si pasa por encima de cada elemento 'x'. O sigues caminando para siempre en ambos casos (hay un ciclo) o te paras después de los pasos 'n' o' n/x' (no hay ciclo). Por supuesto, la longitud del ciclo no va a ser necesariamente 'k/x' si el ciclo original es de longitud' k' ... pero esto es irrelevante para el argumento. – 6502
Lo siento, estaba equivocado. Esto no es falso Yo malentendí la declaración. –