Я как раз смотрел на реализацию метода .indexOf ()
класса Java String
, и похоже, что автор кода использует алгоритм грубой силы для найти подстроку в заданной строке. То есть подход выполняется за O (mn), где m и n - длина исходной и целевой строк соответственно.
Почему автор не использовал более эффективный алгоритм, такой как Rabin-Karp, который имеет сложность выполнения O (m + n), если предоставляется хорошая хеш-функция?
Я мог упустить полное знание причины этой реализации и поэтому хотел понять.