Обнаружение цикла в связанном списке может быть выполнено одним из самых простых способов, что приводит к сложности O (N).
По мере прохождения списка, начиная с главы, создайте отсортированный список адреса. Когда вы вставляете новый адрес, проверьте, есть ли адрес в отсортированном списке, который выполняет сложность O (logN).