Выбор алгоритма для метода .indexOf в Java

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

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

Я мог упустить полное знание причины этой реализации и поэтому хотел понять.

9
задан templatetypedef 7 September 2011 в 21:56
поделиться