2
Lo más leído
5
Lo más leído
8
Lo más leído
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

PPTX
Stack and Queue by M.Gomathi Lecturer
PPTX
Colas en programacion
PPT
Tablas Hash
PPT
PPTX
Presentacion pilas lista y colas
PPTX
Eliminar elementos de una cola
Stack and Queue by M.Gomathi Lecturer
Colas en programacion
Tablas Hash
Presentacion pilas lista y colas
Eliminar elementos de una cola

La actualidad más candente (20)

PPTX
Estructura de Datos -Unidad III: Estructuras Lineales
DOCX
Metodos de-ordenamiento
PPTX
Iterarators and generators in python
PPTX
Listas,pilas y colas Estructura de Datos
PPT
Estructura datos pilas y colas
PPT
Estructuras No Lineales
PPTX
Pilas, colas, y listas estructura de datos
PDF
Les classes abstraites c’est fini (et c’est la faute à TDD)
PPTX
Programación 3: colas
PPTX
Conceptos basicos POO
PPTX
Listas doblemente enlazadas
PPTX
Fila,pila y cola ..
PPTX
Exposicion Busqueda
PPSX
Collections - Array List
PPTX
linked list in Data Structure, Simple and Easy Tutorial
PPTX
Tipos de Colas en Programación en C++ - Presentación
PPTX
Listas, pilas y colas
PDF
Pila estructura de datos
PPS
Pilas y colas
Estructura de Datos -Unidad III: Estructuras Lineales
Metodos de-ordenamiento
Iterarators and generators in python
Listas,pilas y colas Estructura de Datos
Estructura datos pilas y colas
Estructuras No Lineales
Pilas, colas, y listas estructura de datos
Les classes abstraites c’est fini (et c’est la faute à TDD)
Programación 3: colas
Conceptos basicos POO
Listas doblemente enlazadas
Fila,pila y cola ..
Exposicion Busqueda
Collections - Array List
linked list in Data Structure, Simple and Easy Tutorial
Tipos de Colas en Programación en C++ - Presentación
Listas, pilas y colas
Pila estructura de datos
Pilas y colas
Publicidad

Destacado (20)

PPT
Recursividad
PPTX
Aprendizaje colaborativo
PPTX
DOCX
Recursividad
PPT
Recursividad
PPTX
Estructura de Datos: Recursividad
PPTX
Diferencias entre mapa conceptual y mapa mental
PPT
Lactancia materna
PDF
Des outils libres pour la recherche
PPTX
Presentación María
PPS
Juegos de lógica
PPTX
Causas
PPS
Publicidad
PPT
Philosophie sdbienne
 
PPS
Allo La Terre
ODP
Bp110 Seance No5 2007
ODP
Bp110 Seance No3 2007
PPS
Pale Course
PPT
Autrans09 Atelier J6 Ardesi 80109
PDF
REGARDCRITIQUE_oct2010_1-28_v5
Recursividad
Aprendizaje colaborativo
Recursividad
Recursividad
Estructura de Datos: Recursividad
Diferencias entre mapa conceptual y mapa mental
Lactancia materna
Des outils libres pour la recherche
Presentación María
Juegos de lógica
Causas
Publicidad
Philosophie sdbienne
 
Allo La Terre
Bp110 Seance No5 2007
Bp110 Seance No3 2007
Pale Course
Autrans09 Atelier J6 Ardesi 80109
REGARDCRITIQUE_oct2010_1-28_v5
Publicidad

Similar a Pilas y colas (20)

PPTX
PPT
Listas Pilas Colas
PPTX
Gilmora
PPT
Estructura de datos pilas y colas
PPT
Estructuradatospilasycolas 121106170754-phpapp02
PPTX
Listas pilas colas_carlos_rosario10-1337
PPTX
Listas, pilas y colas
PPT
PilasyColas.ppt
PPTX
Listas pilascolas edward.mejia-10-1314
PPT
Darwin rodriguez 12-0861_pilasy_colas
PPTX
Estructura de Datos (LISTAS, COLAS y PILAS)
PDF
pilas en java(edicion estructura de datos).pdf
PPTX
Estructura de Datos (LISTAS, COLAS, PILAS)
PPTX
Pilas y colas
PDF
Listas, pilas y colas
PPTX
Estructura dedatos
PPTX
Listas, pilas y colas
PPT
Explica que son las pilas en estructura de datos
PPT
Estructura de datos.vrb
PPT
Estructura de datos.vrb
Listas Pilas Colas
Gilmora
Estructura de datos pilas y colas
Estructuradatospilasycolas 121106170754-phpapp02
Listas pilas colas_carlos_rosario10-1337
Listas, pilas y colas
PilasyColas.ppt
Listas pilascolas edward.mejia-10-1314
Darwin rodriguez 12-0861_pilasy_colas
Estructura de Datos (LISTAS, COLAS y PILAS)
pilas en java(edicion estructura de datos).pdf
Estructura de Datos (LISTAS, COLAS, PILAS)
Pilas y colas
Listas, pilas y colas
Estructura dedatos
Listas, pilas y colas
Explica que son las pilas en estructura de datos
Estructura de datos.vrb
Estructura de datos.vrb

Más de Eliezer Cordova (20)

PPTX
Tipos de comunicacion
PPTX
Presentacion 3
PPTX
Presentacion 2
PPTX
Presentacion 2
PPTX
Presentacion 1
PDF
Introduccion publisher
PPTX
Presentaciones efectivas
PPT
Resolucion de problemas
PPTX
Programación
PPTX
Presentacion aula virtual videoconferencia
PPTX
Metodología para la creación de algoritmos 0
PPTX
Lenguajes de programación.ppt
PPT
Presentacion uno
PPT
PPT
3 estructuras no lineales estáticas y dinámicas
PPT
2 arboles
PPT
1 árbol
PPT
Acciones funciones
PPT
3 funciones
PPT
2 estructura programa-c
Tipos de comunicacion
Presentacion 3
Presentacion 2
Presentacion 2
Presentacion 1
Introduccion publisher
Presentaciones efectivas
Resolucion de problemas
Programación
Presentacion aula virtual videoconferencia
Metodología para la creación de algoritmos 0
Lenguajes de programación.ppt
Presentacion uno
3 estructuras no lineales estáticas y dinámicas
2 arboles
1 árbol
Acciones funciones
3 funciones
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