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

标签 algorithm floyd-cycle-finding

我今天正在研究 Floyd 的周期查找算法并且有疑问。为什么他需要两个指针并以不同的速度移动它们?

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

最佳答案

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

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

如果我们让一个指针指向 A,我们将永远检测不到循环。

关于algorithm - Floyd 的循环查找算法 - 需要两个指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227551/

相关文章:

c# - 如何提高通过声卡传输文件的比特率?

algorithm - 最长的平衡括号 `subsequence`

python - 在包含可能子序列列表的列表中查找可能回文字符串的算法

algorithm - 为什么循环中的交汇点与链表的开始步数相同?

algorithm - 识别链表中循环的方法背后的逻辑

algorithm - 在井字游戏中如何确定游戏结束?

投影光并检测给定点是否落在其中的算法?

algorithm - 循环检测算法

algorithm - 我们如何找到链表中循环的起始节点?

algorithm - 弗洛伊德算法 - SIGTSTP 错误