Дан однонаправленный список (упорядоченная структура данных, каждый элемент
которой содержит указатель на следующий элемент) из n элементов. Известен
указатель на первый элемент.
Необходимо определить, есть ли в этом списке циклы, то есть существует ли такой k-й элемент, у которого указатель содержит ссылку на один из предыдущих элементов - на r-й элемент, где r<k.
Алгоритм решения этой задачи должен выполняться за время t=O(n) (порядка n) и использовать постоянное, не зависящее от n, количество ячеек памяти - M=O(1).
Необходимо определить, есть ли в этом списке циклы, то есть существует ли такой k-й элемент, у которого указатель содержит ссылку на один из предыдущих элементов - на r-й элемент, где r<k.
Алгоритм решения этой задачи должен выполняться за время t=O(n) (порядка n) и использовать постоянное, не зависящее от n, количество ячеек памяти - M=O(1).