【问题标题】:Are the suffix links in a suffix tree same as the failure edges in an aho-corasick automaton?后缀树中的后缀链接是否与 aho-corasick 自动机中的失效边相同?
【发布时间】:2016-10-04 15:52:32
【问题描述】:

如果是这样,有人可以解释后缀树中后缀链接的目的,以实现精确的字符串匹配吗?

【问题讨论】:

    标签: algorithm suffix-tree aho-corasick


    【解决方案1】:

    没有。后缀链接是后缀树中的特定转换。给定树中表示子串 (si) 的状态,0 i+1 ), 0

    在树的构建过程中使用这些特定的过渡,以便在添加新角色时快速更新树的分支。顾名思义,给定一个表示字符串 S 的起始状态,如果您继续关注后缀链接,您将枚举 S 的后缀。

    然后……就是这样。您可以使用该信息快速执行一些查询,但与精确的字符串匹配无关。

    精确的字符串匹配在后缀树中是如何工作的?你走下你的树。如果您在一个节点中,您必须选择良好的转换,从与您的字符串匹配的字符开始。如果没有不匹配,您可以最终处于显式状态(节点)或隐式状态(在转换中间):此时您知道输入字符串是后缀表示的字符串的子字符串树。

    【讨论】:

    • 只是一个小疑问,后缀链接不是在字符串匹配中尝试不同路径不匹配时采用的路径吗?
    • @Jarvis,如果你为你正在搜索的字符串创建一个后缀树for,那么这是非常正确的。如果您为要搜索的字符串创建后缀树in,则不需要后缀链接。
    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    相关资源
    最近更新 更多