Який алгоритм відповідності рядків найкращий?

Найвідомішим класичним алгоритмом зіставлення рядків є Алгоритм Кнута-Пратта-Моріса, яка має найгіршу часову складність Θ(N + M)9,10. Найвідоміші алгоритми для приблизного зіставлення рядків мають подібний час виконання Θ(N + M).16 лютого 2021 р.

Припустімо k шаблонів однакової довжини m і текст довжини n. Найкращий випадок здається простим: якщо перше порівняння з першим шаблоном завершується негайно, відповідь повертається після m порівнянь символів, де m — довжина першого шаблону.

Алгоритм пошуку рядків Боєра–Мура.

Алгоритм Боєра-Мура Алгоритм Боєра-Мура (також визнаний як BM) (Boyer and Moore, 1977) відомий як дуже швидкий на практиці.');})();(function(){window.jsl.dh('OHTtZuf0Od-Oxc8P6KfQoAg__42','

Метод грубої сили Підхід грубої сили є найпростішим алгоритмом зіставлення рядків. Він передбачає порівняння шаблону з кожним підрядком тексту, доки не буде знайдено збіг. Цей алгоритм має часову складність O(mn), де «m» — довжина шаблону, а «n» — довжина тексту.

Найвідомішим класичним алгоритмом зіставлення рядків є Алгоритм Кнута-Пратта-Моріса, яка має найгіршу часову складність Θ(N + M)9,10. Найвідоміші алгоритми для наближеного зіставлення рядків мають подібний час виконання Θ(N + M).