Examen Julio 2016 Problema 2 Parte B

Examen Julio 2016 Problema 2 Parte B

de Lucas Kunc Dotta -
Número de respuestas: 3

Buenas, no entiendo cual es el razonamiento para esta parte:

"El peor caso de consumo ocurre cuando el árbol degenera en una lista. Para un árbol con estas características, la función requiere una llamada para el primer nodo y una adicional por cada otro nodo más el nodo vacío del final (paso base), es decir, N pasos recursivos y 1 paso base."

Haciendo un dibujo de un arbol binario que degenera en una lista se ve que hay N pasos recursivos pero hay muchos pasos base (hijo derecho o izquierdo en NULL), no uno solo. No estaría entendiendo por que dice 1 paso base.

Gracias desde ya.

En respuesta a Lucas Kunc Dotta

Re: Examen Julio 2016 Problema 2 Parte B

de Santiago De Los Santos Fernandez -
Si miras el arbol como una lista como dice la solucion, el paso base que te interesa para el stack es el del final de la lista. Por como esta hecho el codigo, una vez que retorna el valor de la funcion en el nodo derecho, la funcion termina, por lo que los datos que estaban en el stack (ip, contexto) se retiran del stack. Pero en el final de la lista, tenes acumulados los datos en el stack de todas las llamadas anteriores, por lo que ahi si tendrias N+1 llamadas de la funcion.

Espero que se entienda.