Floyd的循环查找算法 - 需要两个指针?

Vis*_*tla 4 algorithm floyd-cycle-finding

我今天正在通过Floyd的循环查找算法并且有疑问.为什么他需要两个指针并以不同的速度移动它们?

他可以改为创建两个指针,保持一个静态,并将它的指针与另一个指针进行比较,然后递增?我的意思是,即使这样也会导致找到合适的周期?

bri*_*tey 10

他们需要移动的原因是循环不一定要循环整个节点列表.

例如,假设我们有4个节点A-> B-> C-> D-> B.

如果我们将一个指针指向A,我们就永远不会检测到周期.