Questo NON è il problema relativo al rilevamento del ciclo in un elenco collegato mediante il metodo famous Hare and Tortoise.Rilevamento del ciclo in un elenco collegato: Teoria di estinzione
Nel metodo Hare & Tortoise abbiamo puntatori in esecuzione in velocità 1x e 2x per determinare che si incontrano e sono convinto che sia il modo più efficiente e l'ordine di quel tipo di ricerca è O (n).
Il problema è che devo presentare una dimostrazione (dimostrazione o confutazione) che è possibile che due puntatori si incontreranno sempre quando la velocità di spostamento è Ax (A volte x) e Bx (B volte x) e A non è uguale a B. Dove A a B sono due numeri interi casuali che operano su un elenco collegato con un ciclo presente.
Questo è stato chiesto in una delle interviste che ho partecipato di recente e non sono stato in grado di dimostrare in modo esauriente a me stesso che se quanto sopra è possibile. Qualsiasi aiuto apprezzato.
"Questa nuova sequenza ha un ciclo se e solo se la sequenza originale lo fa" - questo è falso. –
@ n.m: Uh? per un elenco collegato la proprietà del loopback non viene modificata se la passi su ogni elemento 'x'. O continui a camminare per sempre in entrambi i casi (c'è un ciclo) o ti fermi dopo i passi 'n' o' n/x' (non c'è ciclo). Naturalmente la lunghezza del ciclo non sarà necessariamente 'k/x' se il ciclo originale è di lunghezza' k' ... ma questo è irrilevante per l'argomento. – 6502
Scusa se ho sbagliato. Questo non è falso. Ho frainteso la dichiarazione. –