例如,我正在考虑in
操作员如何实现
>>> s1 = 'abcdef'
>>> s2 = 'bcd'
>>> s2 in s1
True
在 CPython 中,使用哪种算法来实现字符串匹配,时间复杂度是多少?有没有关于这个的官方文档或维基?
这是Boyer-Moore和Horspool的组合。
您可以在此处查看 C 代码:
快速搜索/计数实现,基于 Boyer-Moore 和 Horspool 之间的混合,顶部还有一些花里胡哨。有关更多背景信息,请参阅:https ://web.archive.org/web/20201107074620/http://effbot.org/zone/stringlib.htm 。
从上面的链接:
在设计新算法时,我使用了以下约束: