Recorrido narrado
La pila de llamadas
Cuando una función llama a otra, el programa tiene que recordar dónde seguir al volver. Lo guarda en una pila: la pila de llamadas. Cada llamada apila un registro (sus variables y el punto de retorno); cada retorno lo desapila.
función a(): b(); escribir "a termina"función b(): c(); escribir "b termina"función c(): escribir "c termina"Llamar a a apila a, luego b, luego c. Termina c (se desapila), termina b, termina a. Por eso «c termina» se escribe primero.
Una función que se llama a sí misma sin una condición que la detenga apila registros sin parar hasta agotar el espacio: es el error conocido como desbordamiento de pila.
Su fila en la tabla de costos
Esta es la fila de la pila hecha sobre un array dinámico con la cima al final.
| Representación | apilar |
desapilar, cima, vacía |
|---|---|---|
| pila sobre array dinámico | O(1) amortizado; O(n) en el peor caso, cuando el array crece | O(1) |
Lee el recorrido de esta página. Al pasar al siguiente momento, este cuenta como leído.