SlideShare una empresa de Scribd logo
1 de 17
Pilas y Colas
Estructuras de Datos
Pilas
• Son estructuras utilizadas muy a menudo
como herramientas de programación de tipo
LIFO (Last in-First out)
• Permiten el acceso solo a un elemento a la
vez: el último elemento insertado
• La mayoría de los procesadores utilizan una
arquitectura basada en pilas
Pilas - Operaciones
• Básicamente poseen dos operaciones
primarias:
– Push: inserta la data en el tope de la pila
– Pop: remueve la data del tope de la pila
Pilas de libros
Pilas de libros
Constructores:
Push (Insertar al inicio)
Pop (Eliminar al inicio)
Selectores:
Pila-Vacia? (El apuntado Cabeza es Nul?)
Top (Mostrar el primero)
Pilas
Implementadas en listas
Pilas
Implementadas en listas
public class CPilaL extends CListaSimple{
public CPilaL(){super();}
public void Push( Cnodo nuevo ){
InsertaPrimero(nuevo);}
public Cnodo Pop(){
Cnodo nodo;
nodo = EliminarPrimero();
return nodo;}
public int Peek(){
Cnodo nodo;
int dato;
nodo = getCabeza();
dato = nodo.getIData();
return dato;}
public boolean PilaVacia(){
return ( EstaVacia() );}
public void ImprimePila(){
ImprimeLista();}
}
PilaVacia( S )
If top( S ) = 0
return true
Else
return false
Push( S, x )
Top( S ) <– Top( S ) + 1
S[ top( S ) ] <– x
Pop( S )
If PilaVacia
error
else
Top( S ) <– Top( S ) - 1
return S[ Top( S ) + 1 ]
Pilas
Implementadas en
Vectores - Algoritmos
Pilas - Eficiencia
• El tiempo de ejecución de las operaciones
primarias de una pila no depende del
tamaño de la pila
• Push y Pop se realizan en tiempo constante
O(1) - no es necesario hacer ninguna
comparación
Colas
• Son estructuras de datos de tipo FIFO (First
in-First out)
• Simulan una cola de personas en el cine
• Las colas son herramientas de programación
como las pilas
Colas - Operaciones
• Operaciones primarias:
– Encolar: agrega un nuevo dato al final de la
cola
– Desencolar: elimina un dato del principio de la
cola
Colas - Operaciones
Colas - Operaciones
Constructores:
Encolar (Insertar al final)
Desencolar (Eliminar al inicio)
Selectores:
Cola-Vacia? (El apuntado Cabeza es Nil?)
Primero-Cola (Mostrar el primero)
Colas
Implementadas en listas
Encolar( Q, x )
Q[ Fin( Q ) ] <– x
if Fin( Q ) = length( Q )
Fin( Q ) <– 1
else
Fin( Q ) <– Fin( Q ) + 1
Desencolar( Q )
x <– Q[ Cabeza( Q ) ]
if Cabeza( Q ) = Length( Q )
Cabeza( Q ) <– 1
else
Cabeza( Q ) <– Cabeza( Q ) + 1
return x
Colas
Implementadas en
Vectores - Algoritmos
Colas - Eficiencia
• El tiempo de ejecución de las operaciones
primarias de una colas no depende del
tamaño de la cola
• Encolar y Desencolar se realizan en tiempo
constante O(1) - no es necesario hacer
ninguna comparación
La mejor implementación de cola, es con una lista,
donde se tenga un apuntador a la cabeza y uno al
último de la lista.
Cola doble enlace
Null
Null

Más contenido relacionado

Similar a PilasyColas.ppt

Similar a PilasyColas.ppt (20)

Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02Estructuradatospilasycolas 121106170754-phpapp02
Estructuradatospilasycolas 121106170754-phpapp02
 
Estructura de datos pilas y colas
Estructura de datos pilas y colasEstructura de datos pilas y colas
Estructura de datos pilas y colas
 
Pilas en Estructura de Datos
Pilas en Estructura de DatosPilas en Estructura de Datos
Pilas en Estructura de Datos
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Pilas
PilasPilas
Pilas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Pilas colas
Pilas colasPilas colas
Pilas colas
 
Operaciones con colas
Operaciones con colasOperaciones con colas
Operaciones con colas
 
2- TDA Listas
2- TDA Listas2- TDA Listas
2- TDA Listas
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos
 
Presentacion sobre Listas Enlazadas en C++.ppt
Presentacion sobre Listas Enlazadas en C++.pptPresentacion sobre Listas Enlazadas en C++.ppt
Presentacion sobre Listas Enlazadas en C++.ppt
 
Estructura de datos I pilas
Estructura de datos I pilasEstructura de datos I pilas
Estructura de datos I pilas
 
Datos
DatosDatos
Datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Practica 3
Practica  3Practica  3
Practica 3
 
PILAS
PILASPILAS
PILAS
 
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Último (12)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

PilasyColas.ppt

  • 2. Pilas • Son estructuras utilizadas muy a menudo como herramientas de programación de tipo LIFO (Last in-First out) • Permiten el acceso solo a un elemento a la vez: el último elemento insertado • La mayoría de los procesadores utilizan una arquitectura basada en pilas
  • 3. Pilas - Operaciones • Básicamente poseen dos operaciones primarias: – Push: inserta la data en el tope de la pila – Pop: remueve la data del tope de la pila
  • 6. Constructores: Push (Insertar al inicio) Pop (Eliminar al inicio) Selectores: Pila-Vacia? (El apuntado Cabeza es Nul?) Top (Mostrar el primero) Pilas Implementadas en listas
  • 7. Pilas Implementadas en listas public class CPilaL extends CListaSimple{ public CPilaL(){super();} public void Push( Cnodo nuevo ){ InsertaPrimero(nuevo);} public Cnodo Pop(){ Cnodo nodo; nodo = EliminarPrimero(); return nodo;} public int Peek(){ Cnodo nodo; int dato; nodo = getCabeza(); dato = nodo.getIData(); return dato;} public boolean PilaVacia(){ return ( EstaVacia() );} public void ImprimePila(){ ImprimeLista();} }
  • 8. PilaVacia( S ) If top( S ) = 0 return true Else return false Push( S, x ) Top( S ) <– Top( S ) + 1 S[ top( S ) ] <– x Pop( S ) If PilaVacia error else Top( S ) <– Top( S ) - 1 return S[ Top( S ) + 1 ] Pilas Implementadas en Vectores - Algoritmos
  • 9. Pilas - Eficiencia • El tiempo de ejecución de las operaciones primarias de una pila no depende del tamaño de la pila • Push y Pop se realizan en tiempo constante O(1) - no es necesario hacer ninguna comparación
  • 10. Colas • Son estructuras de datos de tipo FIFO (First in-First out) • Simulan una cola de personas en el cine • Las colas son herramientas de programación como las pilas
  • 11. Colas - Operaciones • Operaciones primarias: – Encolar: agrega un nuevo dato al final de la cola – Desencolar: elimina un dato del principio de la cola
  • 14. Constructores: Encolar (Insertar al final) Desencolar (Eliminar al inicio) Selectores: Cola-Vacia? (El apuntado Cabeza es Nil?) Primero-Cola (Mostrar el primero) Colas Implementadas en listas
  • 15. Encolar( Q, x ) Q[ Fin( Q ) ] <– x if Fin( Q ) = length( Q ) Fin( Q ) <– 1 else Fin( Q ) <– Fin( Q ) + 1 Desencolar( Q ) x <– Q[ Cabeza( Q ) ] if Cabeza( Q ) = Length( Q ) Cabeza( Q ) <– 1 else Cabeza( Q ) <– Cabeza( Q ) + 1 return x Colas Implementadas en Vectores - Algoritmos
  • 16. Colas - Eficiencia • El tiempo de ejecución de las operaciones primarias de una colas no depende del tamaño de la cola • Encolar y Desencolar se realizan en tiempo constante O(1) - no es necesario hacer ninguna comparación
  • 17. La mejor implementación de cola, es con una lista, donde se tenga un apuntador a la cabeza y uno al último de la lista. Cola doble enlace Null Null