Я прочитал исходный код java.lang.String
, и я был удивлен, узнав, что String.indexof()
не использует алгоритм KMP? Как мы знаем, KMP более эффективен, поэтому почему он не используется в String.indexof()
?
Кто-то вокруг меня сказал мне, что для короткой строки KMP достаточно хорошо, но если вам нужна производительность, и вы собираетесь использовать ее с большими строками, то это не лучший выбор. Однако он не рассказал мне подробности.
Итак, вот мои вопросы:
- Почему мы не используем KMP в методе String.indexof()?
- Почему KMP не является хорошим выбором с большими строками?