Outline
                Recursi´n
                       o




                  Recursi´n
                         o

       Roberto Carlos Abreu D´
                             ıaz


              January 15, 2010




Roberto Carlos Abreu D´
                      ıaz   Recursi´n
                                   o
Outline
                                Recursi´n
                                       o




1   Recursi´n
           o
      N´meros triangulares
       u
      Caracter´
              ısticas de los M´todos Recursivos
                               e
      Eficiencia de la recursi´n
                             o




                Roberto Carlos Abreu D´
                                      ıaz   Recursi´n
                                                   o
N´meros triangulares
                                              u
                                   Outline
                                             Caracter´
                                                     ısticas de los M´todos Recursivos
                                                                      e
                                 Recursi´n
                                        o
                                             Eficiencia de la recursi´n
                                                                    o


Recursi´n
       o


  Definici´n
         o
  Es una t´cnica de programaci´n en la cual una funci´n se llama a
          e                   o                      o
  si misma.

  Ejemplo
  ¿Te acuerdas del factorial? El factorial de el entero no negativo n
  es el producto de todos los enteros desde ´l hasta 1.
                                             e
                       k=n
  Formalmente: n! =          k
                       k=1
  De este producto es f´cil ver que el factorial de n es tambi´n
                       a                                      e
  n! = n ∗ (n − 1)!


                 Roberto Carlos Abreu D´
                                       ıaz   Recursi´n
                                                    o
N´meros triangulares
                                         u
                              Outline
                                        Caracter´
                                                ısticas de los M´todos Recursivos
                                                                 e
                            Recursi´n
                                   o
                                        Eficiencia de la recursi´n
                                                               o


Recursi´n
       o




            Roberto Carlos Abreu D´
                                  ıaz   Recursi´n
                                               o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


N´meros triangulares
 u




     D´ıcese que los Pitag´ricos sent´ una conexi´n m´
                          o          ıan         o   ıstica con la
     serie de n´meros 1, 3, 6, 10, 15, 21, ...
               u




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


N´meros triangulares
 u




     D´ıcese que los Pitag´ricos sent´ una conexi´n m´
                          o          ıan         o   ıstica con la
     serie de n´meros 1, 3, 6, 10, 15, 21, ...
               u
     ¿Puedes encontrar el pr´ximo miembro de esta serie?
                              o




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


N´meros triangulares
 u




     D´ıcese que los Pitag´ricos sent´ una conexi´n m´
                          o          ıan         o    ıstica con la
     serie de n´meros 1, 3, 6, 10, 15, 21, ...
               u
     ¿Puedes encontrar el pr´ximo miembro de esta serie?
                              o
     El en´simo termino se consigue a˜adiendo n al t´rmino previo
           e                           n            e



               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


N´meros triangulares
 u




     D´ıcese que los Pitag´ricos sent´ una conexi´n m´
                          o          ıan          o    ıstica con la
     serie de n´meros 1, 3, 6, 10, 15, 21, ...
               u
     ¿Puedes encontrar el pr´ximo miembro de esta serie?
                              o
     El en´simo termino se consigue a˜adiendo n al t´rmino previo
           e                           n             e
     Los n´meros en esta serie se llaman triangulares porque
           u
     pueden ser visualizados de forma triangular
               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                             u
                                  Outline
                                            Caracter´
                                                    ısticas de los M´todos Recursivos
                                                                     e
                                Recursi´n
                                       o
                                            Eficiencia de la recursi´n
                                                                   o


Encontrando el en´simo t´rmino recursivamente
                 e      e


  C´digo
   o

   public int t ri an gu lo ( int n)
   {
       i f ( n == 1 )
       {
             return 1;
       }
       return n + t r i a n g u l o (n − 1 ) ;
   }




                Roberto Carlos Abreu D´
                                      ıaz   Recursi´n
                                                   o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1
     Vuelve a la funci´n con argumento 2
                      o




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1
     Vuelve a la funci´n con argumento 2
                      o
     triangulo(1) = 1, retorna 2 + 1 = 3




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1
     Vuelve a la funci´n con argumento 2
                      o
     triangulo(1) = 1, retorna 2 + 1 = 3
     Vuelve a la funci´n con argumento 3
                      o




               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1
     Vuelve a la funci´n con argumento 2
                      o
     triangulo(1) = 1, retorna 2 + 1 = 3
     Vuelve a la funci´n con argumento 3
                      o
     triangulo(2) = 3, retorna 3 + 3 = 6



               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1
     Vuelve a la funci´n con argumento 2
                      o
     triangulo(1) = 1, retorna 2 + 1 = 3
     Vuelve a la funci´n con argumento 3
                      o
     triangulo(2) = 3, retorna 3 + 3 = 6
     Vuelve a la funci´n original, con argumento 4
                      o

               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                            u
                                 Outline
                                           Caracter´
                                                   ısticas de los M´todos Recursivos
                                                                    e
                               Recursi´n
                                      o
                                           Eficiencia de la recursi´n
                                                                  o


¿Qu´ est´ pasando realmente?
   e a
     Si introducimos 4,
     4 > 1 por lo tanto ejecuta 4 + triangulo(3)
     Entra la funci´n con argumento 3
                   o
     3 > 1 por lo tanto 3 + triangulo(2)
     Entra la funci´n con argumento 2
                   o
     2 > 1 por lo tanto 2 + triangulo(1)
     Entra la funci´n con argumento 1
                   o
     1 = 1 por lo tanto retorna 1
     Vuelve a la funci´n con argumento 2
                      o
     triangulo(1) = 1, retorna 2 + 1 = 3
     Vuelve a la funci´n con argumento 3
                      o
     triangulo(2) = 3, retorna 3 + 3 = 6
     Vuelve a la funci´n original, con argumento 4
                      o
     triangulo(3) = 6, retorna 4 + 6 = 10
               Roberto Carlos Abreu D´
                                     ıaz   Recursi´n
                                                  o
N´meros triangulares
                                              u
                                   Outline
                                             Caracter´
                                                     ısticas de los M´todos Recursivos
                                                                      e
                                 Recursi´n
                                        o
                                             Eficiencia de la recursi´n
                                                                    o


Caracter´
        ısticas de los M´todos Recursivos
                        e



  Nota
  Aunque triangulo() sea tan corta, posee las caracter´
                                                      ısticas
  comunes a todas las funciones recursivas:
      Se llama a ella misma
      Cuando se llama a ella misma, lo hace para resolver un
      problema m´s peque˜o
                 a       n
      Contiene una versi´n del problema tan simple que puede
                          o
      resolverla y retornar sin llamarse a ella misma




                 Roberto Carlos Abreu D´
                                       ıaz   Recursi´n
                                                    o
N´meros triangulares
                                             u
                                  Outline
                                            Caracter´
                                                    ısticas de los M´todos Recursivos
                                                                     e
                                Recursi´n
                                       o
                                            Eficiencia de la recursi´n
                                                                   o


¿Es eficiente la recursi´n?
                       o


      El control se transfiere desde donde la funci´n fue llamada al
                                                  o
      inicio de esta
      Los argumentos y la direcci´n donde la funci´n debe retornar
                                 o                o
      se ponen en una pila
      Con poca data quiz´ no haya problemas, pero una gran
                         a
      cantidad de data puede causar un stack overflow
      La recursi´n se usa com´nmente porque simplifica un
                o            u
      problema conceptualmente, no porque es inherentemente m´s
                                                             a
      eficiente.




                Roberto Carlos Abreu D´
                                      ıaz   Recursi´n
                                                   o

Recursión

  • 1.
    Outline Recursi´n o Recursi´n o Roberto Carlos Abreu D´ ıaz January 15, 2010 Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 2.
    Outline Recursi´n o 1 Recursi´n o N´meros triangulares u Caracter´ ısticas de los M´todos Recursivos e Eficiencia de la recursi´n o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 3.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o Recursi´n o Definici´n o Es una t´cnica de programaci´n en la cual una funci´n se llama a e o o si misma. Ejemplo ¿Te acuerdas del factorial? El factorial de el entero no negativo n es el producto de todos los enteros desde ´l hasta 1. e k=n Formalmente: n! = k k=1 De este producto es f´cil ver que el factorial de n es tambi´n a e n! = n ∗ (n − 1)! Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 4.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o Recursi´n o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 5.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o N´meros triangulares u D´ıcese que los Pitag´ricos sent´ una conexi´n m´ o ıan o ıstica con la serie de n´meros 1, 3, 6, 10, 15, 21, ... u Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 6.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o N´meros triangulares u D´ıcese que los Pitag´ricos sent´ una conexi´n m´ o ıan o ıstica con la serie de n´meros 1, 3, 6, 10, 15, 21, ... u ¿Puedes encontrar el pr´ximo miembro de esta serie? o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 7.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o N´meros triangulares u D´ıcese que los Pitag´ricos sent´ una conexi´n m´ o ıan o ıstica con la serie de n´meros 1, 3, 6, 10, 15, 21, ... u ¿Puedes encontrar el pr´ximo miembro de esta serie? o El en´simo termino se consigue a˜adiendo n al t´rmino previo e n e Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 8.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o N´meros triangulares u D´ıcese que los Pitag´ricos sent´ una conexi´n m´ o ıan o ıstica con la serie de n´meros 1, 3, 6, 10, 15, 21, ... u ¿Puedes encontrar el pr´ximo miembro de esta serie? o El en´simo termino se consigue a˜adiendo n al t´rmino previo e n e Los n´meros en esta serie se llaman triangulares porque u pueden ser visualizados de forma triangular Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 9.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o Encontrando el en´simo t´rmino recursivamente e e C´digo o public int t ri an gu lo ( int n) { i f ( n == 1 ) { return 1; } return n + t r i a n g u l o (n − 1 ) ; } Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 10.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 11.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 12.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 13.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 14.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 15.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 16.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 17.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 18.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Vuelve a la funci´n con argumento 2 o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 19.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Vuelve a la funci´n con argumento 2 o triangulo(1) = 1, retorna 2 + 1 = 3 Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 20.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Vuelve a la funci´n con argumento 2 o triangulo(1) = 1, retorna 2 + 1 = 3 Vuelve a la funci´n con argumento 3 o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 21.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Vuelve a la funci´n con argumento 2 o triangulo(1) = 1, retorna 2 + 1 = 3 Vuelve a la funci´n con argumento 3 o triangulo(2) = 3, retorna 3 + 3 = 6 Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 22.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Vuelve a la funci´n con argumento 2 o triangulo(1) = 1, retorna 2 + 1 = 3 Vuelve a la funci´n con argumento 3 o triangulo(2) = 3, retorna 3 + 3 = 6 Vuelve a la funci´n original, con argumento 4 o Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 23.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Qu´ est´ pasando realmente? e a Si introducimos 4, 4 > 1 por lo tanto ejecuta 4 + triangulo(3) Entra la funci´n con argumento 3 o 3 > 1 por lo tanto 3 + triangulo(2) Entra la funci´n con argumento 2 o 2 > 1 por lo tanto 2 + triangulo(1) Entra la funci´n con argumento 1 o 1 = 1 por lo tanto retorna 1 Vuelve a la funci´n con argumento 2 o triangulo(1) = 1, retorna 2 + 1 = 3 Vuelve a la funci´n con argumento 3 o triangulo(2) = 3, retorna 3 + 3 = 6 Vuelve a la funci´n original, con argumento 4 o triangulo(3) = 6, retorna 4 + 6 = 10 Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 24.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o Caracter´ ısticas de los M´todos Recursivos e Nota Aunque triangulo() sea tan corta, posee las caracter´ ısticas comunes a todas las funciones recursivas: Se llama a ella misma Cuando se llama a ella misma, lo hace para resolver un problema m´s peque˜o a n Contiene una versi´n del problema tan simple que puede o resolverla y retornar sin llamarse a ella misma Roberto Carlos Abreu D´ ıaz Recursi´n o
  • 25.
    N´meros triangulares u Outline Caracter´ ısticas de los M´todos Recursivos e Recursi´n o Eficiencia de la recursi´n o ¿Es eficiente la recursi´n? o El control se transfiere desde donde la funci´n fue llamada al o inicio de esta Los argumentos y la direcci´n donde la funci´n debe retornar o o se ponen en una pila Con poca data quiz´ no haya problemas, pero una gran a cantidad de data puede causar un stack overflow La recursi´n se usa com´nmente porque simplifica un o u problema conceptualmente, no porque es inherentemente m´s a eficiente. Roberto Carlos Abreu D´ ıaz Recursi´n o