Con respecto a la parte b) de este problema:
“ Respecto al uso de memoria en el problema planteado indique:
iii) El árbol más grande que puede ejecutar su solución.
“
En la solución publicada se argumenta que el árbol mas grande que puede ejecutar la funcion es de 5460 nodos; Teniendo en cuenta que el segmento de stack tiene un tamaño de 64KB y que Consumo(árbol N nodos) = (N+1) * 12 bytes.
Mi duda surge del hecho de que la formula de Consumo es a partir del peor caso posible, cuando el árbol se degenera en una lista.
Y al vaciarse el segmento de stack una vez finalizada la recursion por izquierda, la función podría ademas realizar una recursion por derecha.
Por lo tanto, no se podría decir que la función es capaz de ejecutar un árbol de tamaño:
1 (Nodo raiz) + 5459 (Rama izquierda) + 5459 (Rama derecha) ?
=
10919 < 10922 (Cantidad de nodos que pueden entrar en el segmento ES)
Ademas, ubicando los tres nodos restantes de forma conveniente; No se podría incluso concluir que el árbol de mayor tamaño que podría ejecutar la solución es de 10922 nodos?
Asumí que la solución era de N = 5460 porque se buscaba el árbol mas grande, sin importar la forma en la cual se distribuyan los nodos. Si es así, debería asumir que siempre que se haga esta pregunta en un problema de recursion es para una distribución de nodos genérica? O hay algún error en mi argumento previo?