Two Ways Algorithm
Two Ways Algorithm 是一个用于字符串匹配的算法,算法类似 KMP 会返回所有 pattern 出现在 text 里的位置。但是和 KMP 不同的是 two ways algorithm 只使用常数大小的额外空间。
算法使用 \(O(m)\) 的时间预处理,并且可以在 \(O(n)\) 时间完成匹配,在最差的情况下会遍历 text 串两次。
Two Ways Algorithm 是一个用于字符串匹配的算法,算法类似 KMP 会返回所有 pattern 出现在 text 里的位置。但是和 KMP 不同的是 two ways algorithm 只使用常数大小的额外空间。
算法使用 \(O(m)\) 的时间预处理,并且可以在 \(O(n)\) 时间完成匹配,在最差的情况下会遍历 text 串两次。
基于作用域和栈的内存管理是很符合直觉的,就像下面这样。
最近心血来潮想在C++里实现一些像在python里一样好用的小组件,主要是希望充分发挥C++11
里for
循环的威力。在完成了enumerate
之后,在zip
的完成上用了比较久的时间。