Boyer-Moore
The Boyer-Moore algorithm is a string-searching technique used to find occurrences of a pattern within a larger text. It improves search efficiency by skipping sections of the text, using information from the pattern itself. This is achieved through two main heuristics: the bad character rule and the good suffix rule, which help determine how far to jump when a mismatch occurs.
Developed by Robert S. Boyer and J Strother Moore in 1977, the Boyer-Moore algorithm is particularly effective for searching long texts with relatively short patterns. Its average-case performance is faster than many other string-searching algorithms, making it a popular choice in various applications, including text editors and search engines.