كشف الدورات في خوارزمية فلويد يجد حلقة في تسلسل (مثل القائمة المرتبطة) باستخدام مؤشرين يتحركان بسرعات مختلفة. إذا كانت دورة موجودة، فإن المؤشر السريع في النهاية يلحق ويلتقي بالمؤشر البطيء. ويستخدم مساحة إضافية O(1).
الفكرة
حرّك مؤشر slow خطوة واحدة ومؤشر fast خطوتين. في الدورة، الفجوة تتقلص بمقدار واحد في كل خطوة، لذا يجب أن يتصادما؛ بدون دورة، يصل المؤشر السريع إلى النهاية.
مثال
():
slow = fast = head
fast fast.:
slow = slow.
fast = fast..
slow fast:
