Se trata de un algoritmo recursivo pero de terminación, lo que le permite evitar una recursión infinita.