Удивительно: алгоритм Boyer-Moore работает как brute-force в Python

Ой, в популярном репозитории TheAlgorithms/Python нашли критичную ошибку в реализации Boyer-Moore! Сдвиг bad character записан в переменную цикла → алгоритм криво работает как brute-force O(nm), а не O(n/m) 🤯. Плюс бесконечный цикл в full BM и историческая ошибка из статьи 1977 (исправили только в 1980-х) 🔍. Всё, что вы знали о быстром поиске, — ложь.

💬 Экспертное мнение:
Интересно, что в популярном репозитории TheAlgorithms/Python обнаружилась особенность: реализация Boyer-Moore, из-за особенностей Python, работает как brute-force, а не оптимально. Это напоминает, насколько важно учитывать языковые нюансы при трансляции алгоритмов, особенно учитывая, что даже исторические статьи, как в 1977 году, иногда содержали ошибки, исправленные спустя годы.

🔗 Читать в источнике

#IT #News #Tech
❓ Как вы оцениваете эту новость? #ЭкспертноеМнение