lunes, 24 de septiembre de 2012

3.0 PILAS Y COLAS



Como hemos vistoen los temas anteriores, hemos visto caso de estructuras lineales (eje: Arreglos), es decir  que cada componente tiene un sucesor y un predecesor. Cabe señalar pues que existen estructuras que por naturaleza requieren que se ingresen o eliminen elementos solo por un extremo. A continuación estudiaremos estructuras de datos lineales, que ayudan con el objetivo de eliminar o insertar por un extremo, tales estructuras son: Pilas y Colas.
  
3.1 PILAS
3.1.1 Definición de Pilas.

Es una estructura lineal que solo tiene 2 operaciones, Push (Inserción) y Pop (Eliminación) la cual solo se puede efectuar por un extremo llamado Top. Sin Embargo se le pueden aplicar todas las operaciones al igual que a las listas. En consecuencia, los elementos de una lista se eliminan en orden inverso en el que se insertan; es decir, el último elemento que se mete en la pila es el primero que se saca. Debido a esta última característica se le conoce como estructura LIFO (Last-Input, First Output).

Fig. 3.1

Apilar (push) = Colocar un elemento en la pila
Desapilar (pop) = Retirar un elemento de la pila.



3.1.2 Representación de Pilas


Las pilas no son estructuras fundamentales de datos; es decir, no están definidas como tales en los lenguajes de programación. Para su representación requieren el uso de otras estructuras de datos, como:

* Arreglos
* Listas

En el caso más común podemos utilizar arreglo para la presentación de PILAS, pero en consecuencia es necesario definir variables, una variable para definir un valor máximo de la PILA, nombrada: Max y una variable auxiliar a la que se denomine: Tope, que se utiliza para indicar el último elemento que se insertó en la PILA.
 Al utilizar arreglos para implementar pilas se tiene la limitación de que se debe reservar espacio de memoria con anticipación, característica propia de los arreglos. Una vez dado un máximo de capacidad a la pila no es posible insertar un número de elementos mayor al máximo establecido.
Si la pila estuviera llena y se intentara insertar un nuevo elemento, se producirá un error conocido como desbordamiento overflow o Desbordamiento.
Otro error que se puede presentar al trabajar con PILAS es tratar de eliminar un elemento de una pila vacía, ha dicho error se le conoce como: underflown Subdesbordamiento.

  Video-Ejemplo de Pilas en Java:


 
Mas información:

No hay comentarios:

Publicar un comentario