Ensayo ALGOCOMP Pila, Colas
Ensayo ALGOCOMP Pila, Colas
Ensayo ALGOCOMP Pila, Colas
Universidad Autónoma de
Nuevo león
Algoritmos Computacionales
Ensayo UT 1
Eq: 8
Brigada: __005___
Clase: ___V3___
Algoritmos recursivos
ordenamiento y búsqueda
PILAS
Una pila (stack) es un objeto similar a una pila de
platos, donde se puede agregar y sacar datos
sólo por el extremo superior. En computación
esta estructura es utilizada ampliamente, aunque
muchas veces los usuarios ni siquiera se
percaten. Están tan arraigadas como concepto
en computación, que una de las pocas cosas que
los procesadores (CPU) saben hacer, aparte de
operaciones aritméticas, es usar pilas.
Las pilas son estructuras LIFO (last in, first out), el último que entra es el primero en
salir.
Cuando se dice que la pila está ordenada, lo que quiere decir es que hay un elemento
al que se puede acceder primero (el que está encima de la pila), otro elemento al que
se puede acceder en segundo lugar (justo el elemento que está debajo de la cima),
un tercer elemento, etc.
Ejemplo:
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.
COLAS
Una cola es una estructura de datos, caracterizada por ser una secuencia de
elementos en la que la operación de inserción push se realiza por un extremo y la
operación de extracción pop por el otro. También se le llama estructura FIFO , debido
a que el primer elemento en entrar será también el primero en salir.
OPERACIONES BÁSICAS
FILAS
Una fila es una estructura de datos lineal donde se inserta en un extremo de la fila
(rear) y se saca del otro extremo de la fila (front). Un conjunto mínimo de operaciones
con una fila son crear, agregar, borrar, obtener el elemento al frente y preguntar si la
fila está vacía. Una especificación como estructura algebraica es:
structureQUEUE(ITEM)
declare
NEW() → queue
ADD(queue, item) → queue
DELETE(queue) → queue
FRONT(queue) → item
IS EMPTY (queue) → boolean
for all q, q1 ∈ QUEUE, i ∈ ITEM let
IS EMPTY (NEW()) ::= true
IS EMPTY (ADD(q, i)) ::= false
FRONT(NEW()) ::= error
FRONT(ADD(q, i)) ::= if IS EMPTY (q) then i else F RONT(q)
DELETE(NEW()) ::= NEW()
6
Al igual que para pilas, una forma simple de representar filas es con un arreglo que
(1 : n), siendo n el n´umero m´aximo de elementos en la fila y siendo rear y front las
variables que indican el comienzo y fin de la fila, respectivamente. Usando esta
representación, la implementación de las funciones quedan definidas de esta forma:
Ejemplo:
8
Conclusion:
Con la información antes dicha en conclusión, la implementación de
pilas, colas y filas posibilita la representación eficiente de los datos
en situaciones donde es necesario indicar el orden de
procesamiento de los mismos y no es posible prever la cantidad de
elementos a procesar por cuanto este tipo de representación
permite crear y destruir variables dinámicamente. a cada uno de
estos nos sirve en algún problema que nos ayude a facilitar con el
resultado obtenido.
9
REFERENCIAS BIBLIOGRÁFICAS
3.10. ¿Qué es una cola? — Solución de problemas con algoritmos y estructuras de datos.
(s. f.). Algoritmos. Recuperado 13 de septiembre de 2021, de
https://runestone.academy/runestone/static/pythoned/BasicDS/QueEsUnaCola.html
http://www.inf.udec.cl/~jlopez/FUNDPRO/apuntesC/clase12.html
http://aniei.org.mx/paginas/uam/Descargas/Recursos/Tema_Pilas.pdf
http://informatica.uv.es/iiguia/AED/oldwww/2002_03/Teoria/AED.Tema.11.pdf
https://es.slideshare.net/jtiburcio/algoritmos-computacionales-y-programacin-4