You are on page 1of 13

TAD Pilas

Conceptos bsicos
El TAD Pila es una abstraccin que permite representar una coleccin de objetos que tienen las siguientes caractersticas: y Los elementos se insertan por un extremo y se retiran por el mismo extremo Tienen un comportamiento extremo. LIFO (Last Input First Output). El ltimo en entrar es el primero en salir salir. y En un momento dado, slo est disponible un objeto objeto, el objeto ms recientemente insertado, que est al inicio del extremo por donde se retira los objetos. (Cima Cima).

Ejemplos
y En la vida diaria y Pila de platos y Pila de libros... etc. y En Informtica y Llamadas a subprogramas. y Recursividad. y Compiladores. y Evaluacin de expresiones matemticas y etc.

Representacin de pilas
y Una pila se puede representar como una secuencia (lista) de elementos, cuidando la caracterstica de que los elementos se insertan o eliminan slo por un extremo extremo. y Se puede utilizar tambin la representacin general de nodos, donde sus dos componentes son punteros.
Puntero a la informacin Puntero al siguiente elemento

y Luego, una pila tambin ser una secuencia de nodos, con la particularidad, que uno de los extremos toma el nombre cima , y los nodos se agregan o eliminan por la cima . y Por ejemplo una pila de nombres de ciudades, se representa como:

Cusco cima

Ica

Puno

null null

Enfoque recursivo de pilas


y La definicin recursiva de una pila es:

Pila n elementos = elemento de la cima + Pila n-1 elementos


y Esta definicin es similar a la definicin recursiva de

una lista, sin embargo, se debe tener presente que los elementos se insertan o retiran slo por uno de los extremos, a pesar de que este hecho no se refleje en la definicin.

Operaciones del TAD Pila


Apilar: Desapilar: Desapilar: Cima: EsVacia: Crear: Crear : Objeto x Pila Pila Pila Pila Ninguno Objeto x Pila Pila Pila Objeto Booleano Pila Pila

Operacin Apilar
Nombre operacin: Apilar Descripcin operacional: Apilar:Objeto x Pila Pila Explicacin de la operacin: Agrega un elemento en la cima de la pila Modelo: apilar(e, pila) = pila = Crear(e, pila)

Especificacin del algoritmo Diccionario de Variables Resultados pila = Pila con elemento en la cima Datos e = elemento : Objeto pila = Pila de elementos : Pila Pre condicin: {| Verdadero |} Accin que debe realizar el algoritmo Agregar un elemento a la pila Pos condicin: {| e = cima(pila) |}

Operacin Desapilar
Nombre operacin: Desapilar Descripcin operacional: Desapilar: Pila Pila Explicacin de la operacin: Retira el elemento de la cima de la pila. Modelo: Desapilar (pila) = pila = SubPila(pila) si No EsVacia(pila)

Especificacin del algoritmo Diccionario de Variables Resultados pila = pila con n-1 elementos : Pila Datos pila = pila con n elementos : Pila Pre condicin: {| pila no est vaca |} Accin que debe realizar el algoritmo Retirar elemento de la cima de la pila Pos condicin: {| pila con n-1 elementos |}

Operacin Cima
Nombre operacin: Cima Descripcin operacional: Cima: Pila Objeto Explicacin de la operacin: Devuelve el objeto ubicado en la cima de la pila Modelo: Cima (pila) = Retornar Elemento(pila)

Especificacin del algoritmo Diccionario de Variables Resultados e = objeto de la cima de la pila Datos pila = pila de objetos o elementos Pre condicin: {| pila no est vaca |} Accin que debe realizar el algoritmo Recuperar el objeto de la cima de la pila Pos condicin: {| e = elemento de la cima|}

: Objeto : Pila

You might also like