Итак, мой вопрос заключается в том, что в алгоритме черепахи и кролика/наследника для обнаружения кругового связанного списка, почему необходимо увеличивать второй более быстрый указатель только на 2 ?? Я не могу понять это и не нашел ответа на него здесь.Алгоритм обнаружения циклически связанных списков
Увеличение первого медленного указателя на 1 имеет смысл, так что мы итерируем все элементы, которые мы будем сравнивать со вторым указателем. НО ПОЧЕМУ БЫСТРЫЙ УКАЗАТЕЛЬ НЕОБХОДИМО БЫТЬ ПРЕДУСМОТРЕН ТОЛЬКО НА 2. Почему мы можем увеличивать его на 3 или 4 или более ????
И есть способ рассчитать, что должно быть «нет». из хэп (если не 2) более быстрого указателя по отношению к количеству элементов в списке ???
возможно дубликат [Зачем увеличивать указатель на два Находя цикла в связанном списке, почему нет 3,4,5?] (http://stackoverflow.com/questions/5130246/why-increase-pointer-by-two-while-finding-loop-in-linked-list-why- not-3-4-5) – templatetypedef
Кроме того, не используйте ОЧЕНЬ ГРОМКОГО ВЕРХНЕЙ ЧАСТИ ПИСЬМА В ВАШЕМ ОТВЕТЕ ИЛИ ПОВТОРЕННОМ УРОВНЕ !!! Он читает, как будто вы кричите на нас. Для акцента лучше использовать * курсив * или ** жирный **, чтобы привлечь внимание. – templatetypedef
Вопрос должен быть исправлен. Более быстрый указатель используется для определения цикла в связанном списке, а не для определения того, является ли список круговым или нет.Разница в том, что в круговом списке последний узел всегда указывает на голову. В тех случаях, когда цикл может указывать на любой промежуточный узел – fayyazkl