SlideShare una empresa de Scribd logo
1 de 17
Pilas y Colas
Ing. Eliezer Córdova
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
Las operaciones definidas para
     una pila son las siguientes
• push: inserta un objeto en el tope de la pila

• empty: retorna un valor que indica si la pila está vacía o no.

• pop: remueve el objeto que está en el tope de la pila. No está
definido si la pila está vacía.

• top: retorna el objeto que está en el tope de la pila sin borrarlo.
No está definido si la pila está vacía.
Pilas de libros
Pilas de libros
Pilas
     Implementadas en listas
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
                                     public int Peek(){
public class CPilaL extends
                                              Cnodo nodo;
CListaSimple{
                                              int dato;
public CPilaL(){super();}
                                              nodo = getCabeza();
public void Push( Cnodo nuevo ){
                                              dato = nodo.getIData();
         InsertaPrimero(nuevo);}
                                              return dato;}
public Cnodo Pop(){
                                     public boolean PilaVacia(){
         Cnodo nodo;
                                              return ( EstaVacia() );}
         nodo = EliminarPrimero();
                                     public void ImprimePila(){
         return nodo;}
                                              ImprimeLista();}
                                     }
Pilas
          Implementadas en
         Vectores - Algoritmos
PilaVacia( S )      Push( S, x )                 Pop( S )
  If top( S ) = 0     Top( S ) <– Top( S ) + 1     If PilaVacia
    return true       S[ top( S ) ] <– x             error
  Else                                             else
    return false                                     Top( S ) <– Top( S ) - 1
                                                     return S[ Top( S ) + 1 ]
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
Las operaciones definidas para
  una cola son las siguientes

 – Encolar: agrega un nuevo dato al final de la
   cola
 – Desencolar: elimina un dato del principio de la
   cola
Colas - Operaciones
Colas - Operaciones
Colas
      Implementadas en listas
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
          Vectores - Algoritmos
                                 Desencolar( Q )
Encolar( Q, x )                    x <– Q[ Cabeza( Q ) ]
  Q[ Fin( Q ) ] <– x               if Cabeza( Q ) = Length( Q )
  if Fin( Q ) = length( Q )           Cabeza( Q ) <– 1
      Fin( Q ) <– 1                else
  else                                 Cabeza( Q ) <– Cabeza( Q ) + 1
      Fin( Q ) <– Fin( Q ) + 1     return x
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
Cola doble enlace
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.




                                           Null
         Null

Más contenido relacionado

La actualidad más candente

Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Applications of stack
Applications of stackApplications of stack
Applications of stackeShikshak
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPMiguelGomez371
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: PilaEmerson Garay
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesMago Julio Cesar
 
Queue_Data_Structure.pptx
Queue_Data_Structure.pptxQueue_Data_Structure.pptx
Queue_Data_Structure.pptxsandeep54552
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure Janki Shah
 
Queue data structure
Queue data structureQueue data structure
Queue data structureanooppjoseph
 
Binary Search Tree in Data Structure
Binary Search Tree in Data StructureBinary Search Tree in Data Structure
Binary Search Tree in Data StructureMeghaj Mallick
 
Stack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi LecturerStack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi Lecturergomathi chlm
 
Queue as data_structure
Queue as data_structureQueue as data_structure
Queue as data_structureeShikshak
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 

La actualidad más candente (20)

Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Applications of stack
Applications of stackApplications of stack
Applications of stack
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UP
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Data structures using c
Data structures using cData structures using c
Data structures using c
 
Estructura de Datos: Pila
Estructura de Datos: PilaEstructura de Datos: Pila
Estructura de Datos: Pila
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Queue_Data_Structure.pptx
Queue_Data_Structure.pptxQueue_Data_Structure.pptx
Queue_Data_Structure.pptx
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Pilas en Java
Pilas en JavaPilas en Java
Pilas en Java
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Queue in Data Structure
Queue in Data Structure Queue in Data Structure
Queue in Data Structure
 
Queue data structure
Queue data structureQueue data structure
Queue data structure
 
Binary Search Tree in Data Structure
Binary Search Tree in Data StructureBinary Search Tree in Data Structure
Binary Search Tree in Data Structure
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Stack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi LecturerStack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi Lecturer
 
Queue as data_structure
Queue as data_structureQueue as data_structure
Queue as data_structure
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 

Destacado (20)

Recursividad
RecursividadRecursividad
Recursividad
 
Aprendizaje colaborativo
Aprendizaje colaborativoAprendizaje colaborativo
Aprendizaje colaborativo
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 
Diferencias entre mapa conceptual y mapa mental
Diferencias entre mapa conceptual y mapa mentalDiferencias entre mapa conceptual y mapa mental
Diferencias entre mapa conceptual y mapa mental
 
Lactancia materna
Lactancia maternaLactancia materna
Lactancia materna
 
Des outils libres pour la recherche
Des outils libres pour la rechercheDes outils libres pour la recherche
Des outils libres pour la recherche
 
Presentación María
Presentación MaríaPresentación María
Presentación María
 
Juegos de lógica
Juegos de lógicaJuegos de lógica
Juegos de lógica
 
Causas
CausasCausas
Causas
 
Publicidad
PublicidadPublicidad
Publicidad
 
Philosophie sdbienne
Philosophie sdbiennePhilosophie sdbienne
Philosophie sdbienne
 
Allo La Terre
Allo La TerreAllo La Terre
Allo La Terre
 
Bp110 Seance No5 2007
Bp110 Seance No5 2007Bp110 Seance No5 2007
Bp110 Seance No5 2007
 
Bp110 Seance No3 2007
Bp110 Seance No3 2007Bp110 Seance No3 2007
Bp110 Seance No3 2007
 
Pale Course
Pale CoursePale Course
Pale Course
 
Autrans09 Atelier J6 Ardesi 80109
Autrans09 Atelier J6 Ardesi 80109Autrans09 Atelier J6 Ardesi 80109
Autrans09 Atelier J6 Ardesi 80109
 
REGARDCRITIQUE_oct2010_1-28_v5
REGARDCRITIQUE_oct2010_1-28_v5REGARDCRITIQUE_oct2010_1-28_v5
REGARDCRITIQUE_oct2010_1-28_v5
 

Similar a Pilas y colas

Similar a Pilas y colas (20)

PilasyColas.ppt
PilasyColas.pptPilasyColas.ppt
PilasyColas.ppt
 
Estructura dedatos
Estructura dedatosEstructura dedatos
Estructura dedatos
 
2- TDA Listas
2- TDA Listas2- TDA Listas
2- TDA Listas
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
Estructuradedatosipilas 101118211345-phpapp02
Estructuradedatosipilas 101118211345-phpapp02Estructuradedatosipilas 101118211345-phpapp02
Estructuradedatosipilas 101118211345-phpapp02
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas 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
 
Practica 3
Practica  3Practica  3
Practica 3
 
Colas Dennis Escobar Salazar.pdf
Colas Dennis Escobar Salazar.pdfColas Dennis Escobar Salazar.pdf
Colas Dennis Escobar Salazar.pdf
 
S6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colasS6-EDD-3.2 Pilas y colas
S6-EDD-3.2 Pilas y colas
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
PILAS
PILASPILAS
PILAS
 
08 pilas1 t2018
08 pilas1 t201808 pilas1 t2018
08 pilas1 t2018
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
 
Filas con listas doblemente enlazadas
Filas con listas doblemente enlazadasFilas con listas doblemente enlazadas
Filas con listas doblemente enlazadas
 
Variables2
Variables2Variables2
Variables2
 
Colas
ColasColas
Colas
 

Más de Eliezer Cordova

Más de Eliezer Cordova (20)

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
 
Resolucion de problemas
Resolucion de problemasResolucion de problemas
Resolucion de problemas
 
Programación
ProgramaciónProgramación
Programación
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
 
Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Presentacion uno
Presentacion unoPresentacion uno
Presentacion uno
 
Intro
IntroIntro
Intro
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
2 arboles
2 arboles2 arboles
2 arboles
 
1 árbol
1 árbol1 árbol
1 árbol
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
3 funciones
3 funciones3 funciones
3 funciones
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 

Pilas y colas

  • 1. Pilas y Colas Ing. Eliezer Córdova
  • 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. Las operaciones definidas para una pila son las siguientes • push: inserta un objeto en el tope de la pila • empty: retorna un valor que indica si la pila está vacía o no. • pop: remueve el objeto que está en el tope de la pila. No está definido si la pila está vacía. • top: retorna el objeto que está en el tope de la pila sin borrarlo. No está definido si la pila está vacía.
  • 6. Pilas Implementadas en listas Constructores: Push (Insertar al inicio) Pop (Eliminar al inicio) Selectores: Pila-Vacia? (El apuntado Cabeza es Nul?) Top (Mostrar el primero)
  • 7. Pilas Implementadas en listas public int Peek(){ public class CPilaL extends Cnodo nodo; CListaSimple{ int dato; public CPilaL(){super();} nodo = getCabeza(); public void Push( Cnodo nuevo ){ dato = nodo.getIData(); InsertaPrimero(nuevo);} return dato;} public Cnodo Pop(){ public boolean PilaVacia(){ Cnodo nodo; return ( EstaVacia() );} nodo = EliminarPrimero(); public void ImprimePila(){ return nodo;} ImprimeLista();} }
  • 8. Pilas Implementadas en Vectores - Algoritmos PilaVacia( S ) Push( S, x ) Pop( S ) If top( S ) = 0 Top( S ) <– Top( S ) + 1 If PilaVacia return true S[ top( S ) ] <– x error Else else return false Top( S ) <– Top( S ) - 1 return S[ Top( S ) + 1 ]
  • 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. Las operaciones definidas para una cola son las siguientes – Encolar: agrega un nuevo dato al final de la cola – Desencolar: elimina un dato del principio de la cola
  • 14. Colas Implementadas en listas Constructores: Encolar (Insertar al final) Desencolar (Eliminar al inicio) Selectores: Cola-Vacia? (El apuntado Cabeza es Nil?) Primero-Cola (Mostrar el primero)
  • 15. Colas Implementadas en Vectores - Algoritmos Desencolar( Q ) Encolar( Q, x ) x <– Q[ Cabeza( Q ) ] Q[ Fin( Q ) ] <– x if Cabeza( Q ) = Length( Q ) if Fin( Q ) = length( Q ) Cabeza( Q ) <– 1 Fin( Q ) <– 1 else else Cabeza( Q ) <– Cabeza( Q ) + 1 Fin( Q ) <– Fin( Q ) + 1 return x
  • 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. Cola doble enlace 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. Null Null