Изменения

Перейти к: навигация, поиск

Двусторонний алгоритм

4 байта добавлено, 23:03, 2 ноября 2018
Ценность алгоритма
Двусторонний алгоритм отчасти похож на алгоритм Бойера-Мура (просмотр символов справа налево и сдвиг позиции при несовпадении на втором этапе), и в лучшем случае работает немногим медленнее его, а в худшем {{---}} значительно превосходит<ref>[http://monge.univ-mlv.fr/~mac/Articles-PDF/CP-1991-jacm.pdf Journal of the Association for Computing Machinery, Vol. 38, No, 1, July 1991] Оценки скорости работы</ref>, но главное отличие двустороннего алгоритма от алгоритмов Кнута-Морриса-Пратта и Бойера-Мура {{---}} константное количество затрачиваемой дополнительной памяти.
Именно этот алгоритм (в несколько модифицированном виде) используется в реализации поиска подстроки в glibc<ref>[https://github.com/bminor/glibc/blob/masterglibc-2.28/string/strstr.c#L84 L88 Реализация функции strstr в glibc]</ref>.
== См. также ==
Анонимный участник

Навигация