Floyd's cycle detection ایک sequence (جیسے linked list) میں loop تلاش کرتا ہے دو pointers استعمال کرتے ہوئے جو مختلف رفتار سے حرکت کرتے ہیں۔ اگر cycle موجود ہے تو fast pointer آخری کار slow pointer کو پکڑتا ہے اور ملتا ہے۔ یہ O(1) اضافی space استعمال کرتا ہے۔
یہ خیال
slow pointer کو ایک قدم آگے بڑھائیں اور fast pointer کو دو قدم آگے بڑھائیں۔ cycle میں، فاصلہ ہر قدم سے ایک کم ہو جاتا ہے، تو وہ ضرور ٹکرائیں گے؛ cycle کے بغیر، fast آخر تک پہنچتا ہے۔
