O(n+m) Find the offsets of all non-overlapping indices of
needle within haystack.
In (unlikely) bad cases, this algorithm's complexity degrades towards O(n*m).
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27
Moduletext-2.1.3Haskell2010
Fast substring search for Text, based on work by Boyer, Moore, Horspool, Sunday, and Lundh.
References:
R. S. Boyer, J. S. Moore: A Fast String Searching Algorithm. Communications of the ACM, 20, 10, 762-772 (1977)
R. N. Horspool: Practical Fast Searching in Strings. Software - Practice and Experience 10, 501-506 (1980)
D. M. Sunday: A Very Fast Substring Search Algorithm. Communications of the ACM, 33, 8, 132-142 (1990)
F. Lundh: The Fast Search Algorithm. (2006)
O(n+m) Find the offsets of all non-overlapping indices of
needle within haystack.
In (unlikely) bad cases, this algorithm's complexity degrades towards O(n*m).