gpt4 book ai didi

algorithm - Knuth-Morris-Pratt 算法基于 DFA `?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:58:14 26 4
gpt4 key购买 nike

我想了解 Knuth–Morris–Pratt 算法的工作原理。我从普林斯顿大学观看了这个教程 https://www.youtube.com/watch?v=iZ93Unvxwtw .在此视频中,他们使用了一个表格,字母表的长度 = 行数,模式长度 = 列数。将表格视为 DFA,用于检测文本中的模式。我认为这种方法很有趣,但维基百科说 Knuth-Morris-Pratt 算法使用前缀表,其中只有一行用于前缀长度。两者都有效,并且都是 O(n+m) 速度热(n 是文本的长度,m 是模式的长度)。但 DFA 版本需要更多空间。但问题是哪个是真正的 Knuth–Morris–Pratt 算法,哪个是微分?

最佳答案

真正的(根据我看到的最多的定义)是来自维基百科的。将其实现为 DFA 的想法可能来自于 Knuth-Morris-Pratt 算法是 Aho-Corasick 自动机的一个特例(它可以在一个特里树上运行,而不仅仅是一个字符串),通常以这种方式实现(因为前缀表不足以满足它)。

关于algorithm - Knuth-Morris-Pratt 算法基于 DFA `?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26195446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com