Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 后缀树和最长重复子字符串问题_Algorithm_Suffix Tree - Fatal编程技术网

Algorithm 后缀树和最长重复子字符串问题

Algorithm 后缀树和最长重复子字符串问题,algorithm,suffix-tree,Algorithm,Suffix Tree,在字符串“aekeaekea$”上运行算法以查找至少出现3次的最长子字符串时,后缀树中的所有节点最多有2个分支,这是怎么回事 正确的结果应该是子字符串“AEKEA” 你可以很容易地看到花园里的那棵树 我只是按照维基百科的描述: 找到至少有k个最长子串的问题 可以通过首先对树进行预处理以计算 每个内部节点的叶子体数,然后查找 至少有k个子体的最深节点“ 我错过了什么 谢谢。我认为那个网站不对。当我运行'aekeaekeaekea'通过我的,我得到下面的树 └── (0) ├── (27)

在字符串“
aekeaekea$
”上运行算法以查找至少出现3次的最长子字符串时,后缀树中的所有节点最多有2个分支,这是怎么回事

正确的结果应该是子字符串“
AEKEA

你可以很容易地看到花园里的那棵树

我只是按照维基百科的描述:

找到至少有k个最长子串的问题 可以通过首先对树进行预处理以计算 每个内部节点的叶子体数,然后查找 至少有k个子体的最深节点“

我错过了什么


谢谢。

我认为那个网站不对。当我运行'aekeaekeaekea'通过我的,我得到下面的树

└── (0)
    ├── (27) $
    ├── (6) A
    │   ├── (26) $
    │   ├── (16) AEKEA
    │   │   ├── (17) $
    │   │   └── (7) AEKEA$
    │   └── (18) EKEA
    │       ├── (19) $
    │       └── (8) AEKEA
    │           ├── (9) $
    │           └── (1) AEKEA$
    ├── (4) E
    │   ├── (24) A
    │   │   ├── (25) $
    │   │   └── (14) AEKEA
    │   │       ├── (15) $
    │   │       └── (5) AEKEA$
    │   └── (20) KEA
    │       ├── (21) $
    │       └── (10) AEKEA
    │           ├── (11) $
    │           └── (2) AEKEA$
    └── (22) KEA
        ├── (23) $
        └── (12) AEKEA
            ├── (13) $
            └── (3) AEKEA$
从这个分支可以看到,您已经找到了最长的子字符串,共出现了3次

└── (0)
    ├── (27) $
    ├── (6) A
    │   ├── (26) $
    │   ├── (16) AEKEA
    │   │   ├── (17) $
    │   │   └── (7) AEKEA$
    │   └── (18) EKEA
    │       ├── (19) $
    │       └── (8) AEKEA
    │           ├── (9) $
    │           └── (1) AEKEA$

谢谢,但我有点困惑,在你的树中,每个节点的最大分支数也是2。节点0有4个分支,节点6有3个分支。是的,对不起,你是对的,但是节点0表示“”,节点6表示“a”,没有一个节点表示“AEKEA”,并且有超过2个分支。我想我明白了!被称为“叶后代”(不仅是直接的),节点18有3个叶后代,您可以使用“A”子字符串(6次出现)来验证这一点:它有叶后代27、26、17、7、19、9、1感谢您的帮助!是的,这是有道理的。很高兴我能帮忙。