Page 51 - INTRODUCCIÓN AL ANÁLISIS DE ALGORITMOS
P. 51

INTRODUCCIÓN AL ANÁLISIS  DE ALGORITMOS


                                         Algoritmo 1.14. Función de Ackermann





































            Para comprender mejor la complejidad del algoritmo se revisa la llamada recursiva A(4,x). Sabemos
            que

            A(0,x) = x+1

            A(n,0) = A(n-1,1)

            A(n, x) = A(n-1, A(n,x-1))

            Por lo que

            A(1,x)=A(0,A(1,x-1))=1+A(1,x-1))=1+A(0,A(1,x-2))=1+1+A(1,x-2)=1+1+1+A(0,A(1,x-3))
            A(1,x)=1+1+1+… (x-1 veces uno) + A(0,A(1,0))=(x-1)+1+A(1,0)=x+A(0,1)=x+1+1=x+2

            Apoyándose en el valor de A(1,x) se obtiene:

            A(2,x)=A(1,A(2,x-1))=2+A(2,x-1)=2+2+A(2,x-2)=2+2+2+A(2,x-3)=2x+A(1,1) = 2x+3
            Partiendo de estos dos valores se tratará de obtener A(3,x) y recordando que

            A(n, x)=A(n-1, A(n,x-1)), se tiene:

            A(3,x)  = A(2, A(3, x-1)) = 3+2ª(3,X-1) = 3+2ª(2, A(3, x-2)) =3+2(3+2ª(3,X-2))

                    = 3+2(3+2(A(2,A(3,x-3)))

                    = 3+2(3+2(3+2(A(2,A(3,x-4))))



                                                          45
   46   47   48   49   50   51   52   53   54   55   56