algorithm - 非迭代序列中的循环检测

标签 algorithm cycle-detection

我的理解是tortoise-hare类似的算法适用于迭代序列 也就是说,对于任何 x,succ(x) = x0。

我想实现一个算法,可以检测确定性和非确定性无限重复序列中的循环。

序列可能有一个非重复的前缀子序列,例如在序列 1666666... 中,有前缀 1 和重复模式 6

该算法将返回序列中最长的重复模式。 001100110011... 的重复模式将是 001122583575837583758... 的重复模式将是 58357.

我的想法是以某种方式从那里生成对最长可能模式长度的猜测,但我无法按顺序进行。

最佳答案

tortoise-hare算法使用相同的地址来识别周期。这个问题需要一种不同的算法。某种形式的 trie 或结构(例如 LZW 压缩)将是我寻找解决方案的地方。

关于algorithm - 非迭代序列中的循环检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444868/

相关文章:

algorithm - 循环检测算法 : Is there a condition for Tortoise and Hare to enter into cycle?

algorithm - 具有偶数个元素的集合的划分

algorithm - Dijkstras 算法似乎不起作用,我的理解一定有缺陷

java - 斐波那契算法中的计数加法

algorithm - 生成具有 n 个循环的有向图

algorithm - 在(不完全)拉丁方中寻找周期

java - java中的循环检测

algorithm - LZW数据解压算法

c# - 冒泡排序最坏的例子是 O(n*n),怎么样?

javascript - 编写一个函数来检测链表中的循环(Floyd's alg)...逻辑看起来正确,但找不到错误