后缀链接和失败链接有什么区别?
我正在学习本学期的算法,并且已经阅读了关于构建后缀树的Aho-Corasick字符串匹配算法和Ukkonen算法。
我读了他们两个但不能理解这两个主要的基本区别,除了失败链接检查前缀和后缀链接检查后缀。
这两种算法有什么区别?
我认为你对后缀链接和失败链接的理解是不正确的。 在这两种情况下,后缀/失败链接都是从trie / suffix树中的一个节点到trie / suffix树中的另一个节点的指针,具有以下属性:如果原始节点表示字符串x,则字符串y由由后缀/失败链接指向的节点是其中y是字符串x的最长可能后缀的节点。
两种算法的主要区别在于算法产生的结果,而不是后缀/失败链接的含义。 Aho-Corasick生成一个带有额外转换信息的注释,可以尽快找到所有字符串集合的所有实例。 所产生的故障链接既用于构建算法,也用于模式匹配步骤。 Ukkonen的算法会生成一个后缀树,仅在构建期间使用后缀链接,而不是在树上的大多数查询期间使用后缀链接。
希望这可以帮助!
区别在于后缀/字典链接就像指向孩子父母的指针。 失败链接来自广度优先搜索。 这两个链接都是后缀。
链接地址: http://www.djcxy.com/p/40103.html上一篇: What are the differences between suffix links and failure links?