Możliwe duplikaty:
find whether a loop in a linked list without two pointers
How to determine if a linked list has a cycle using only two memory locations.
Best algorithm to test if a linked list has a cycleJak ustalić, czy połączona lista zawiera pętlę?
Podczas przygotowań do rozmowy kwalifikacyjnej, natknąłem się na następujące pytanie:
Jak można określić, czy Lista połączona (dowolnego typu) zawiera pętlę, używając additio końcowa złożoność przestrzeni O (1)? Nie można założyć, że pętla zaczyna się od pierwszego węzła (i oczywiście pętla nie musi zawierać wszystkich węzłów).
nie mogę znaleźć odpowiedzi, chociaż mam wrażenie, że to całkiem proste ...
Sam przeoczyłem to dokładne pytanie podczas wywiadu. Byłem w stanie podać tylko rozwiązanie pamięci i czasu O (* n *). – Thanatos
Dowiedziałem się o tym w klasie CS, ale nie sądzę, że jest to szczególnie dobre pytanie, ponieważ jest "oczywiste, jeśli już wiesz". –
Wiele, wiele duplikatów, np. [znajdź pętlę na liście połączonej bez dwóch wskaźników] (http://stackoverflow.com/questions/2338683/find-whether-a-loop-in-a-linked-list-without- dwóch-pointers) –