You are on page 1of 7

Universidad de Cuenca

Integrantes: Pablo Sinchi Tema: PILAS Y COLAS

UNIVERSIDAD DE CUENCA PILAS Y COLAS

Contenido
PILAS Y COLAS ......................................................................................................................... 2 1.-Introduccion: ....................................................................................................................... 2 2.- Pilas: ................................................................................................................................... 2 2.1.- Implementacin Esttica: ......................................................................................... 2 2.2.- Implementacin Dinmica: ....................................................................................... 2 3.- Colas ................................................................................................................................... 3 3.1.- Implementacin Esttica: ......................................................................................... 3 3.2.- Implementacin Dinmica: ....................................................................................... 4 3.3.- Colas de Prioridad: .................................................................................................... 5 4.- Conclusiones ..................................................................................................................... 6 5.- Referencias ........................................................................................................................ 6

UNIVERSIDAD DE CUENCA PILAS Y COLAS

PILAS Y COLAS
1.-Introduccion:
Anteriormente se comenz el estudio de algunas estructuras de datos especiales y muy tiles, cuyas caractersticas a veces dan la sensacin de dificultar su manejo pero en la realidad esas caractersticas son las que les dan la funcionalidad y sus aplicaciones en ciertos casos comunes en nuestro medio. Ahora se trataran dos nuevas estructuras de datos que tambin tienen ciertas caractersticas especiales, las pilas y las colas. A estas estructuras se las llama LIFO (Last in, First out).

2.- Pilas:
Las pilas son estructuras de datos en las que cada dato ingresado va encima del otro, de tal manera que el ultimo dato en entrar es el primero en salir al eliminar u obtener un dato. Las pilas pueden ser implementadas de manera esttica o dinmica. 2.1.- Implementacin Esttica: La implementacin esttica hace referencia al tamao de la pila, es decir que el tamao de la pila, la cantidad de datos que se pueden ingresar, se da solo una vez al implementar la pila y no se puede modificar. Al tener un tamao esttico si se quiere ingresar un nuevo dato se debe tomar en cuenta si la pila no se encuentra llena, y tambin se debe tener en cuenta siempre la posicin del ultimo elemento ingresado, tanto para esta operacin como para las dems. En la implementacin esttica se tiene definido y reservado el tamao de memoria que podra llegar a usar la pila debido a su tamao especificado.

2.2.- Implementacin Dinmica: La implementacin dinmica de las pilas nos permite modificar el tamao de la pila segn se vaya ingresando datos, por lo que no es necesario especificar la

UNIVERSIDAD DE CUENCA PILAS Y COLAS

cantidad de datos que puede llegar a tener, pero si los punteros en cada elemento. La pila en implementacin dinmica debe tener una cabecera que ser un puntero al primer elemento (o a Null si la pila esta vaca), y un puntero al siguiente miembro del grupo, as como al anterior para poder ubicar correctamente cada uno de los elementos al eliminarlo si este se encuentra en la ultima posicin el elemento anterior mueve su segundo puntero (que apuntaba al elemento eliminado) a Null siendo este ahora el ultimo, esta es la utilidad de los dos punteros aunque algunas veces tambin se usa solo un puntero hacia el siguiente elemento.

3.- Colas
Una cola es una estructura de datos lineal, en esta estructura las inserciones se realizan por el extremo llamado final mientras que las eliminaciones se realizan por el frente es decir por el elemento ingresado ms pronto. A estas estructuras se les llama FIFO (First In First Out). 3.1.- Implementacin Esttica: De la misma manera que en las pilas, las colas pueden tener una forma de implementacin esttica en la que se predetermina un tamao de la cola, el mismo que es invariable. Debido a que en la cola, el dato que se elimina es el que se encuentra en la primera posicin y para comprobar si una cola (implementada estticamente) esta llena se toma el ultimo dato, se nos puede presentar un error, al ir vaciando la cola nos quedan espacios en blanco y no podremos determinar exactamente si la cola esta vaca.
3

UNIVERSIDAD DE CUENCA PILAS Y COLAS

Una solucin para este problema es mover todos los elementos hacia la primera posicin, pero para esto tendramos que realizar muchas operaciones, esto no resulta demasiado eficiente, sobre todo cuando existen muchos elementos en la cola y la operaciones de borrado e insercin son muy frecuentes. La mejor forma de evitar este problema es representar la cola como un arreglo circular as es mas fcil tomar en cuenta donde se encuentra el frente y el final, al eliminar un dato podremos acomodar el nuevo frente de la cola y al ingresar un dato solo lo ubicaremos en el siguiente espacio vaco.

3.2.- Implementacin Dinmica: El concepto de implementacin dinmica es el mismo que el usado en pilas. En este caso se implementa dinmicamente colas, es decir estas no tienen un tamao definido y cada vez que se agrega datos la cola puede seguir creciendo indefinidamente. En la implementacin dinmica como la cola puede seguir creciendo necesitamos tener una referencia para las operaciones, es decir manejar punteros de cada elemento al siguiente y manteniendo siempre al ultimo elemento con un puntero apuntando a Null, por otro lado si la cola esta vaca el tendremos un primer y un ultimo puntero ambos apuntando a Null. Cuando ingresemos el primer dato el primer y el ltimo puntero (2y3) apuntara al mismo y el puntero siguiente del nodo ingresado (1) apuntara a Null.

UNIVERSIDAD DE CUENCA PILAS Y COLAS

Si queremos ingresar un nodo o dato cuando la lista ya tiene elementos simplemente el puntero del nodo a ingresar apunta a Null, el nodo que iba ultimo apunta al ingresado y el puntero ultimo tambin se mueve y apunta al nodo a ingresar.

Lo mismo en los casos de eliminar un nodo solo movemos el puntero primero al segundo nodo y eliminamos el primer nodo.

Para eliminar todos los datos solo apuntamos el puntero primero y ultimo a Null y eliminamos todos los nodos.

La apariencia en general de una cola dinmica puede ser algo similar a:

3.3.- Colas de Prioridad: Teniendo claro el concepto de cola, podemos definir fcilmente a una cola de prioridad, como una estructura de datos en la que los elementos se atienden o se toman de acuerdo a una prioridad asociada a cada uno. Este tipo de colas tiene las mismas operaciones que las colas normales pero teniendo siempre presente que los elementos se atienden en orden de prioridad, en caso de que existan dos elementos con la misma prioridad entonces se recurre a tomar en cuenta el orden de ingreso. Un ejemplo de la vida diaria de este tipo de clases es una sala de emergencias de un hospital en el que la prioridad se da de acuerdo a la gravedad de la enfermedad del paciente que esta en la cola.
5

UNIVERSIDAD DE CUENCA PILAS Y COLAS

Para la implementacin de este tipo de colas tenemos dos formas: 1.- Aadir un campo a cada nodo con su prioridad. Resulta conveniente mantener la cola ordenada por orden de prioridad. 2.- Crear tantas colas como prioridades haya, y almacenar cada elemento en su cola. Para eliminar se hace en orden desde el elemento con menos prioridad.

4.- Conclusiones
En las estructuras de datos existe una gran variedad, de las cuales muchas se las cree poco tiles, mas es necesario informarse conocer su correcto manejo, implementaciones y los diferentes subtipos que pueden existir para tener totalmente claro la utilidad de cada estructura.

5.- Referencias
http://estruturadedatos.wordpress.com/unidad-3-estructuras-lineales-estaticasy-dinamicas/3-2-colas/ http://cupi2.uniandes.edu.co/libros/estructuras_de_datos/index.php?option=co m_content&view=article&id=108:310-implementacion-del-tad-cola-deprioridades&catid=161&Itemid=238 http://es.wikipedia.org/wiki/Cola_de_prioridades_(estructura_de_datos) http://es.wikibooks.org/wiki/Estructuras_de_datos_din%C3%A1micas/Colas_de _prioridad_y_montones http://estruturadedatos.wordpress.com/unidad-3-estructuras-lineales-estaticasy-dinamicas/3-2-colas/ http://mx.answers.yahoo.com/question/index?qid=20100411194407AARRY1o http://informatica.uv.es/iiguia/AED/oldwww/2002_03/Teoria/AED.Tema.12.pdf http://www.programacionfacil.com/estructura_de_datos http://c.conclase.net http://www.iuma.ulpgc.es/users/jmiranda/docencia/programacion/Tema4_ne.pdf http://quegrande.org/apuntes/EI/2/Alg/teoria/07-08/tema_2.1__pilas,_colas_y_listas.pdf http://www.slideshare.net

You might also like