【发布时间】:2016-07-19 07:35:17
【问题描述】:
给定一个文本 t[1...n] 和 k 个模式 p1,p2,...pk,每个长度为 m,n=2m,来自字母表 [0, Sigma-1]。设计一个有效的算法来查找 t 中任何模式 pj 匹配的所有位置 i。
所以我有一个字符串 t = "1 2 3 4 5 2 2 9" 和模式 p = "4 5 2 2"。我知道会有 m+1 个位置我可以找到一个模式(从“1 2 3 4”、“2 3 4 5”等......)。
然后我们在模式中有 k 个字符,所以 bigO 为 O(k(m+1))。
我的算法是搜索字符串,检查每个字符与模式中的字符。这将为 m+1 个位置运行 k 次迭代。
希望我解释正确。我只想知道我是否做得对,以及我的逻辑是否有任何缺陷。谢谢!
【问题讨论】:
标签: string algorithm pattern-matching