Son estructuras de datos, son reglas de operaciones entre estructuras ya conocidas cuando la implementación de la cola tiene como base una estructura de listas enlazadas
PILAS
Una pila es una estructura de datos lineal en la que se
pueden insertar y eliminar elementos sólo por uno de los extremos. Como
consecuencia, los elementos de una pila serán eliminados en orden inverso al
que se insertaron. Es decir, el último elemento que se metió a la pila será el
primero en salir de ella.Trabajan con filosofía LIFO (Last In- First Out ).
-TIPOS DE LISTAS
ESTÁTICAS
DINÁMICAS
-Las colas son estructuras de almacenamiento temporal mientras se hacen procesos con ellas
*Ejemplo una empresa financiera (BANCO)
PILAS Y COLAS
Pila: realizar operaciones en forma invertida, retroceder en un proceso para completar operaciones pendientes
Pila S.O, llamado subprograma, compiladores, para evaluación de expresiones aritméticas
pila Restringe a un extremo de las estructura lineal las operaciones
Vacia {tope == -1 ;
Quitar {dato = tope.getDato();
Cima {dato =tope.getDato();
Vacia {tope==null;
Llena(new Nodo() ) == null;
IMPLEMENTACION COLA
CLASS COLA VECTOR
DINAMICAS
Orden inverso = pila
-Las colas son estructuras de almacenamiento temporal mientras se hacen procesos con ellas
*Ejemplo una empresa financiera (BANCO)
Operaciones con pilas
PUSH (insertar).- Agrega un elementos a la pila en el extremo
llamado tope.
POP (remover).- Remueve el elemento de la pila que se encuentra en
el extremo llamado tope.
VACIA.- Indica si la pila contiene o no contiene elementos.
LLENA.- Indica si es posible o no agregar nuevos elementos a la
pila.
-Aplicaciones de pilas
Las pilas son utilizadas
ampliamente para solucionar una amplia variedad de problemas. Se utiliza en
compiladores, sistemas operativos y en programas de aplicación. Su
implementación se puede hacer mediante Arrays Y Mediante listas enlazadas.
Un ejemplo de sus aplicaciones
podrían ser los siguientes:
Los Navegadores en Internet
almacenan en una pila las direcciones de los sitios más recientemente
visitados. Los editores de texto proporcionan normalmente un botón deshacer que
cancela las operaciones de edición recientes y restablece el estado anterior
del documento.
PILAS Y COLAS
Reglas reglas para restricción de operaciones en estructuras
lineales (Arreglos listas enlazadas)
Regla
Pila: LIFO ( Last in first Out) último elemento almacenado
en procesar
Cola: FIFO ( First in first Out) primer elemento almacenado
en procesar
Utilidad
Pila: realizar operaciones en forma invertida, retroceder en un proceso para completar operaciones pendientes
Cola: Cuando los recursos de procesamiento son menos que las
demandas de uso Aplicaciones
Pila S.O, llamado subprograma, compiladores, para evaluación de expresiones aritméticas
Cola cola de
procesos, cola de impresión, simulación
pila Restringe a un extremo de las estructura lineal las operaciones
poner (almacenar
el ultimo dato en la estructura)
Quitar capturar el dato y eliminarlo de la estructura
Quitar capturar el dato y eliminarlo de la estructura
Cima
Vaciar
Vacia {tope == -1 ;
Llena {tope == max -1;
Cima {dato= v[tope];
PONER {tope =new Nodo (dato, tope);
Quitar {dato = tope.getDato();
{tope=
tope.gueSig();
Cima {dato =tope.getDato();
Vacia {tope==null;
Llena(new Nodo() ) == null;
Regla
* Quitar
* Cima
* Vacia
* Llena
IMPLEMENTACION COLA
CLASS COLA VECTOR
Versión estática (arreglo)
DINAMICAS
COLAS SIMPLES:
Se inserta por un sitio y se saca
por otro, en el caso de la cola simple se inserta por el final y se saca por el
principio. Para gestionar este tipo de cola hay que recordar siempre cual es el
siguiente elemento que se va a leer y cuál
es el último elemento que se ha introducido.
COLAS CIRCULARES:
En las colas circulares se
considera que después del último elemento se accede de nuevo al primero. De
esta forma se reutilizan las posiciones extraídas,
el final de la cola es a su vez el
principio, creándose un circuito cerrado.
PONER fin ++;
V[fin]= dato;
QUITAR dato= v[frente];
Frente++
LLENA fin==null;
APLICACIONES DE COLAS:
Las colas se utilizan en muchos
algoritmos y en situaciones en las que el rendimiento de dos sistemas que se
cruzan datos entre sí es más eficiente cuando no se intercambian indicativos y
señales de control (handshaking) en cada transferencia.
• También almacenan temporalmente
la transferencia de información, lo que permite procesarla en origen y en
destino a tasas independientes
VERCION DINAMICA (NODOS)
No hay comentarios.:
Publicar un comentario