1. ESTRUCTURA DE
DATOS
Tema: Pilas, Listas y Colas
Integrantes:
Ramon Adolfo Carreras Ramirez, 11-1151
Elvin Emilio Arias Soto, 12-0810
2. Colas
• Las Colas son secuencias de elementos caracterizadas
porque las operaciones de inserción y borrado se realizan
sobre extremos opuestos de la secuencia. La inserción se
produce en el "final" de la secuencia, mientras que el
borrado se realiza en el otro extremo, el "inicio" de la
secuencia. Las restricciones definidas para una cola
hacen que el primer elemento que se inserta en ella sea,
igualmente, el primero en ser extraído de la estructura.
Fuente: http://informatica.uv.es/iiguia/AED/oldwww/2002_03/Teoria/AED.Tema.12.pdf
3. Cont.:
• Las colas se utilizan en
sistemas informáticos, transportes y operaciones
de investigación, donde los objetos, personas o eventos
son tomados como datos que se almacenan y se guardan
mediante colas para su posterior procesamiento. Este
tipo de estructura de datos abstracta se implementa
en lenguajes orientados a objetos mediante clases, en
forma de listas enlazadas.
Fuente: http://informatica.uv.es/iiguia/AED/oldwww/2002_03/Teoria/AED.Tema.12.pdf
4. Cont.:
Si una serie de elementos A, B, C, D, E se insertan en una cola en ese mismo
orden, entonces los elementos irán saliendo de la cola en el orden en que
entraron. Por esa razón, en ocasiones, las colas se conocen con el nombre de
listas o secuencias FIFO (First In First Out, el primero que entra es el primero
que sale).
A B C D E F …
Borrado Insercion
Fuente: http://informatica.uv.es/iiguia/AED/oldwww/2002_03/Teoria/AED.Tema.12.pdf
5. Cont.:
• Las colas, resultan de aplicación habitual en muchos
problemas informáticos. Quizás la aplicación más común
de las colas es la organización de tareas de un
ordenador. En general, los trabajos enviados a un
ordenador son "encolados" por éste, para ir procesando
secuencialmente todos los trabajos en el mismo orden en
que se reciben. Cuando el ordenador recibe el encargo
de realizar una tarea, ésta es almacenada al final de la
cola de trabajos. En el momento que la tarea que estaba
realizando el procesador acaba, éste selecciona la tarea
situada al principio de la cola para ser ejecutada a
continuación. Todo esto suponiendo la ausencia de
prioridades en los trabajos. En caso contrario, existirá una
cola para cada prioridad.
6. Pilas
• La Pila es una lista de elementos caracterizada porque
las operaciones de inserción y eliminación de elementos
se realizan solamente en un extremo de la estructura. El
extremo donde se realizan estas operaciones se
denomina habitualmente cima (top en la nomenclatura
inglesa). Dada una pila P, formada por los elementos a, b,
c,..., k (P=(a,b,c,...,k)), se dice que a, que es el elemento
más inaccesible de la pila, está en el fondo de la pila y
que k, por el contrario, el más accesible, está en la cima
(top). Las restricciones definidas para la pila implican que
si una serie de elementos A, B, C, D, E, F se añaden, en
este orden, a una pila entonces el primer elemento que
se elimine (borre) de la estructura deberá ser F.
7. Cont.:
• Por tanto, resulta que el último elemento que se inserta
en una pila es el primero que se borra. Por esa razón, se
dice que una pila es una lista o estructura lineal de tipo
LIFO (Last In First Out).
A B C D E F
Borrado Inserción
8. Cont.:
• Un ejemplo típico de pila lo constituye un montón de
platos: Cuando se quiere introducir un nuevo plato, éste
se coloca en la posición más accesible, encima del último
plato. Cuando se coge un plato, éste se extrae,
igualmente, del punto más accesible, el último que se ha
introducido. O, si somos más estrictos, otro ejemplo sería
una caja llena de libros. Las paredes de la caja impiden
acceder libremente a su contenido y sólo se puede
acceder al libro que está más arriba en la caja. Al
almacenar o extraer un libro, sólo es posible actuar sobre
ese primer libro. No es posible siquiera saber el número
total de libros guardados en la pila. Sólo se conocerá el
número de elementos de la pila de libros si previamente
los sacamos hasta vaciar la caja.
9. Listas
• La Lista enlazada es un TDA que nos permite almacenar
datos de una forma organizada, al igual que los vectores
pero, a diferencia de estos, esta estructura es dinámica,
por lo que no tenemos que saber "a priori" los elementos
que puede contener.
• Existen dos tipos de listas:
• Listas Simples
• Listas Ordenadas
10. Cont.:
• Listas simples
Se definen como un conjunto de nodos uno detrás de otro,
del cual siempre se puede conocer al nodo inicial y al final,
de cada nodo de la lista, se conoce un contenido, que es la
información que almacena dentro, puede ser de cualquier
tipo de dato un sucesor único excepto el ultimo nodo de la
lista.
11. Cont.:
• Listas ordenadas
Son las que la posición de cada nodo viene determinada
por el valor de uno o más campos obligatorios de
información del nodo denominados clave. No se permite
tener dos nodos con la misma clave.