El algoritmo naive o ingenuo en la detección de patrones es uno de los más fundamentales, con una complejidad computacional de O(n2). Los algoritmos de detección de patrones pretenden encontrar una cadena en un texto, extrayendo cual es su posición.
Implementación en Java
public class BusquedaNaive {
static void busqueda(String patron, String texto)
{
int limitePatron = patron.length();
int limiteTexto = texto.length();
int i = 0, j = limiteTexto - 1;
for (i = 0, j = limiteTexto - 1; j < limitePatron;) {
if (texto.equals(patron.substring(i, j + 1))) {
System.out.println("Patron encontrado en el indice "
+ i);
}
i++;
j++;
}
}
public static void main(String args[])
{
String patron = "AABAACAADAABAA";
String texto = "AADA";
busqueda(patron, texto);
}
}