Floyd's cycle detection अनुक्रमांमध्ये (जसे लिंक केलेली यादी) दोन निर्देशक वापरून लूप शोधते जो भिन्न गतीने चालते. जर सायकल अस्तित्वात असेल, तर वेगवान निर्देशक हळुवार निर्देशकाला पकडते. O(1) अतिरिक्त जागा वापरते.
कल्पना
slow निर्देशक एक पायरी हलवा आणि fast निर्देशक दोन पायरी हलवा. सायकलमध्ये, अंतर प्रत्येक पायरीने एकने कमी होते, म्हणून त्यांचा टक्कर होणे आवश्यक आहे; सायकलविना, वेगवान निर्देशक अंतला पोहोचते.
उदाहरण
():
slow = fast = head
fast fast.:
slow = slow.
fast = fast..
slow fast:
