sustituir iteración por recursión (o viceversa)

Los programas ierativos suelen ser más rápidos, mientras que los programas recursivos suelen ser más fáciles de entender. El programador puede elegir una u otra forma, según le convenga.

Los siguientes métodos calculan el máximo común divisor de dos números enteros positivos.

iterativo

recursivo

    int mcd(int a, int b) {

        while (a != b) {

            if (a > b)

                a -= b;

            else if (b > a)

                b -= a;

        }

        return a;

    }

     int mcd(int a, int b) {

        if (a == b)

            return a;

        if (a > b)

            return mcd(a - b, b);

        else

            return mcd(a, b - a);

    }

 

Temas relacionados

147. Refactoring (concepto)