UNIVERSIDAD NACIONAL AGRARIA LA MOLINA
Facultad de Economía y Planificación
Departamento de Estadística e Informática
ALGORITMIA
Pilas y colas
Profesora: Frida Coaquira Nina
2021-II
PILA
• Su nombre se deriva de la metáfora de una pila
de platos en una cocina.
• La inserción y extracción de elementos de la
pila siguen el principio LIFO (last-in-first-out).
• El último elemento en entrar es el único
accesible en cada momento.
Operaciones básicas
• PUSH: apilar, meter.
Existe solamente un lugar en donde cualquier
elemento puede ser agregado a la pila. Después de
haber insertado el nuevo elemento, G ahora es el
elemento en la cima.
• POP: desapilar, sacar
Basta indicar que sea retirado un elemento. No
podemos decir “retirar 2” , porque 2 no está en la
cima de la pila.
• TOP: cima, tope, parte superior.
Operaciones
DINAMICA
• La dinámica de la pila, es decir, la manera en cómo entran y salen los
datos a la estructura de datos se denomina fifo (first input, first
output)
OPERACIONES
• Crear_pila(P: pila, ok: lógico)
• Borrar_pila(P: pila, ok: lógico)
• Vacía?(P: pila, resp: lógico)
• Llena?(P: pila, resp: lógico)
• Push(P: pila, X: elemento, resp: lógico)
• Pop(P: pila, X: elemento, resp: lógico)
• Top(P: pila, X: elemento, resp: lógico)
Aplicaciones
• Navegador Web – Se almacenan los sitios previamente visitados
Cuando el usuario quiere regresar (presiona el botón de retroceso),
simplemente se extrae la última dirección (pop) de la pila de sitios
visitados.
• Editores de texto – Los cambios efectuados se almacenan en una pila
– El usuario puede deshacer los cambios mediante la operación
“undo”, la cual extrae el estado del texto antes del último cambio
realizado.
Cola
• En una cola hay dos extremos, uno es
llamado la parte delantera y el otro
extremo se llama la parte trasera de la
cola. En una cola, los elementos se retiran
por la parte delantera y se agregan por la
parte trasera.
Colas
• Su nombre se deriva de la metáfora de
una cola de personas en una taquilla.
• La inserción y extracción de elementos de
la cola siguen el principio FIFO (first-in-
first-out).
• El elemento con más tiempo en la cola es
el que puede ser extraído.
OPERACIONES
• Las operaciones básicas de una cola son “enqueue” (meter) y
“dequeue” (sacar)
– enqueue: añade un nuevo elemento al final de la cola
– dequeue: elimina (saca) el primer elemento de la cola
• Otras operaciones usualmente incluidas en el tipo abstracto COLA
son:
– isEmpty (estáVacia): verifica si la cola está vacía
– isFull (estáLlena): verifica si la cola está llena
Operaciones con colas
Ejemplo
Aplicaciones
• En general, operaciones en redes de computadoras.
– Trabajos enviados a una impresora
– Solicitudes a un servidor.
• Clientes solicitando ser atendidos por una telefonista.
Arreglos múltiples
El arreglo múltiple representa una colección de objetos que
tienen los mismos campos pero utilizan un arreglo
Dado un índice x se definen: key[x], next[x] , prev[x]
Al objeto con key 4 esta en key[2]
key 16 esta en key[5]
next[5] es 2
prev[2] es 5
Ejemplo
• Ejemplo de Single Array Con Punteros
Ejemplo
• Free list