Estaba viendo la implementación del método de la clase String
de Java .indexOf()
y parece que el autor del código utiliza el algoritmo de fuerza bruta para buscar la subcadena en una cadena dada. Es decir, el enfoque se ejecuta en O (mn), donde m y n son la longitud de las cadenas fuente y destino, respectivamente.Elección del algoritmo para el método .indexOf en Java
¿Por qué el autor no utilizó un algoritmo más eficiente como Rabin-Karp, que tiene una complejidad de tiempo de ejecución de O (m + n) si se proporciona una buena función de hash?
Podría estar perdiendo todo el conocimiento detrás del motivo de esta implementación y, por lo tanto, quería entender.
¿Estás hablando de 'String.indexOf (String)'? 'substring()' crea un nuevo String. – ILMTitan