Explicacion del algoritmo