Normalmente, se suele implementar este tipo de algoritmos como un procedimiento recursivo.