¿Alguien puede ayudarme a dibujar un árbol de recursión para la ecuación [matemáticas] T (n) = T (n-2) + n [/ matemáticas]?

La definición de [matemáticas] T (n) [/ matemáticas] en la pregunta es:

[matemáticas] T (n) = T (n – 2) + n [/ matemáticas]

y además asumo [matemáticas] T (1) = 1 [/ matemáticas] y [matemáticas] T (0) = 0 [/ matemáticas] como casos base.

Como [math] T (n) [/ math] se define solo en términos de un solo término anterior [math] T (n – 2) [/ math], el árbol de recurrencia será como una “cadena”.

Se verá así:

[matemáticas] n \ leftarrow (n – 2) \ leftarrow (n – 4) \ leftarrow \ cdots \ leftarrow (n – 2k) \ leftarrow \ cdots \ leftarrow 2 \ leftarrow 0 [/ math]

(suponiendo que [math] n [/ math] es par), pero se dibuja de arriba a abajo en lugar de de izquierda a derecha.

Esto se debe a que cada nodo en el árbol de recurrencia representa los “términos adicionales” agregados a [math] T (k) [/ math] para calcular su valor (de acuerdo con la definición de la función [math] T [/ math ]), después de sustituir los valores de sus subárboles secundarios. Cada subárbol hijo representa un término precedente ([matemáticas] T (j), \, \, j <k [/ matemáticas]) involucrado en el cálculo de [matemáticas] T (k) [/ matemáticas].

En este caso, habrá un solo subárbol hijo para cada nodo [matemática] T (k) [/ matemática], que dará el valor de [matemática] T (k – 2) [/ matemática].

Este árbol te dice de inmediato que:

[matemáticas] T (n) = 2 + 4 + \ ldots + n = 2 \ left (1 + 2 + \ ldots + \ dfrac {n} {2} \ right) = \ dfrac {n} {2} \ left (\ dfrac {n} {2} + 1 \ right) = \ Theta (n ^ 2) [/ math]

Esta es una función recursiva típica que requiere que los dos primeros términos se definan como constantes. Se puede codificar de la siguiente manera:

  Función T (n)
 SI n = 0 ENTONCES
    devolver A
 ELSEIF n = 1 ENTONCES
    volver B
 MÁS
    retorno T (n-2) + n
 TERMINARA SI

Si desea ver un seguimiento de este programa, podríamos ver lo que obtenemos al llamar a T (7):

  T (7) llama a T (5)
    T (5) llama a T (3)
        T (3) llama a T (1)
            T (1) devuelve B
        T (3) devuelve B + 3
    T (5) devuelve (B + 3) + 5 = B + 8
 T (7) devuelve (B + 8) + 7 = B + 15