SlideShare una empresa de Scribd logo
1 de 17
Johan Ferney Pino Cuesta
Jeiler Antonio Padilla Córdoba
Marian Ramírez Garrido
Dumar Leonardo Serna
Arley Fernando Blandón Valencia
ESTRUCTURA DE DATOS
PILAS
PRESENTADO POR:
HISTORIA
El método de pila para la evaluación de
expresiones fue propuesto en 1955 y dos
años después patentado por Fiedrich
L.Bauer, quién recibió en 1988 el premio
"IEEE Computer Society Pioneer Award" por
su trabajo en el desarrollo de dicha
estructura de datos.
PILAS
Es una lista ordinal o estructura de datos en la
que el modo de acceso a sus elementos es de
tipo LIFO (last in first out, es decir, "último en
entrar, primero en salir") que permite almacenar
y recuperar datos.
Son aquellas que solo tiene 2 operaciones, Push
(Inserción) y Pop (Eliminación) la cual solo se
puede efectuar por un extremo llamado Top.
ACCESO A LA PILA
realizamos 2 operaciones a través de la CABEZA,
Para manejar los datos se cuenta con dos
operaciones básicas: "apilar" (Push (Inserción)), que
coloca un objeto en la pila, y su operación inversa,
"retirar" o "desapilar" (Pop (Eliminación)), que
retira el último elemento apilado.
OPERACIONES
Una pila cuenta con 2 operaciones imprescindibles: apilar y des-apilar,
a las que en las implementaciones modernas de las pilas se suelen
añadir más de uso habitual.
• Crear: se crea la pila vacía.
• Apilar: se añade un elemento a la pila.(push)
• Des-apilar: se elimina el elemento frontal de la pila.(pop)
• Cima: devuelve el elemento que está en la cima de la pila. (top o
peek)
• Vacía: devuelve cierto si la pila está vacía o falso en caso contrario.
OPERACIÓN CREAR_PILA
La creación de la pila se realizará mediante el
constructor por defecto. La tarea que deberá
realizar será decir que no existen elementos en la
pila:
stack: Pila
stack.Cima ← 0
Pila::Pila (void)
{
cima = 0;
}
OPERACIÓN DE INSERCIÓN DE
INFORMACIÓN (APILAR)
La operación de inserción normalmente se conoce por su nombre
inglés Push, o Apilar. La operación aplicada sobre un pila y un valor
x, inserta x en la cima de la pila.
Algoritmo Apilar
Entradas
x: Valor {* elemento que se desea insertar *}
stack: Pila de Valor
Salidas
stack
Inicio
Si ( stack.Cima = MAX ) entonces
Error "pila llena"
Sino
stack.Cima ← stack.Cima + 1
stack.Info [stack.Cima]
Fin_sino
Fin
bool Pila::Apilar (Valor x)
{
bool error;
if (cima == MAX)
error = true;
else
}
error = false;
info[cima] = x;
cima++;
{
return error;
}
;
OPERACIÓN DE ELIMINACIÓN DE
INFORMACIÓN (DESAPILAR)
La operación de borrado elimina de la estructura el elemento
situado en la cima. Normalmente recibe el nombre de Pop en la
bibliografía inglesa.
Algoritmo Desapilar
Entradas
stack: Pila de Valor
Salidas
stack
x: Valor
Inicio
{* comprobar si se pueden eliminar
elementos de la pila *}
Si ( Pila_Vacia ( stack ) ) entonces
Error “pila vacia”
sino
stack.Cima ← stack.Cima - 1
Fin_si
Fin
bool Pila::Desapilar (void)
}
bool error;
if (cima == 0)
error = true;
else
}
error = false;
cima--;
{
OPERACIÓN DE CONSULTA DE
INFORMACIÓN (CIMA_PILA)
La operación de consulta de la información, sólo puede
acceder al elemento que esté situado en la cima de la pila, y
proporcionar su valor.
Algoritmo Cima_Pila
Entradas
stack: Pila de Valor
Salidas
Valor
Inicio
{ comprobar si existe información en la
pila *}
Si ( Pila_Vacia ( stack ) ) entonces
Error “pila vacia”
sino
Devolver ( stack.Info [stack.Cima] )
Fin_si
Fin
bool Pila::CimaPila (Valor & x)
}
bool error;
if (cima == 0)
error = true;
else
}
error = false;
x = info[cima - 1];
{
return error;
OPERACIÓN PILA_VACIA
Esta operación permitirá determinar si es posible eliminar
elementos. La pila estará vacía si la cima está apuntando al valor
cero.
Algoritmo Pila_Vacia
Entrada
stack: Pila
Salida
(CIERTO, FALSO)
Inicio
Si ( stack.Cima = 0 ) entonces
Devolver ( CIERTO )
Sino
Devolver ( FALSO )
Fin_si
Fin
EJEMPLO APLICADO EN LA VIDA REAL
Un ejemplo típico de pila lo constituye un montón de platos
cuando se les esta lavando, cuando los platos esta listo para
lavarlos lo primero que hacemos es tomar un plato y después de
realizar el proceso lo ubicamos en la primera posición , luego
cogemos el segundo plato y lo ubicamos encima del primero hay
estamos realizando la operación de apilar (push), esto lo
hacemos hasta que ya no haya mas platos por lavar y la pila de
platos esta terminada (Cima Llena ).
Ahora los tenemos que ubicar dentro de la cocina integral de
nuestra casa, y con ello realizamos la operación de des-apilar
(pop), luego cogemos el ultimo plato que lavamos y lo vamos
metiendo en la posición correspondiente es que donde
aplicamos la forma LIFO (el último en entrar es el primero en
salir) ó (el último en lavar es el primero en colgar) y así
sucesivamente con los demás platos hasta tener la pila vacía.
EJEMPLO ALGORITMICO
En la figura podemos observar que el valor del tope (posición
del ultimo elemento) varia si operamos sobre la pila (si
añadimos o eliminamos elementos). Si la pila esta vacía, es
decir, si no tiene ningún elemento, el tope no tiene un valor
definido. Del ejemplo, también se desprende una propiedad
interesante: la pila es una estructura de datos dinámica, ya que
su tamaño varia cuando hacemos una operación (apilar o
desapilar) sobre ella.
tope
tope
tope tope
Apilar Apilar Apilar ApilarDesapilar
E1 E1 E1 E1 E1
E2 E2 E2 E2
E3 E4
 Pilas Struct

Más contenido relacionado

La actualidad más candente

Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estaticaJoeCorp
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datosJosé Braganza
 
Pilas en Estructura de Datos
Pilas en Estructura de DatosPilas en Estructura de Datos
Pilas en Estructura de DatosWitdeggarFarias
 
10. aplicaciones de las pilas
10. aplicaciones de las pilas10. aplicaciones de las pilas
10. aplicaciones de las pilasAndreita Enriquez
 
Actividad 1
Actividad 1Actividad 1
Actividad 1mp_va
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y OperadoresUVM
 
Cuestionario 1
Cuestionario 1Cuestionario 1
Cuestionario 1Jhoan0605
 
Sistemas de producción: Introducción a CLIPS
Sistemas de producción: Introducción a CLIPSSistemas de producción: Introducción a CLIPS
Sistemas de producción: Introducción a CLIPSfmartin6
 
Actividad 1
Actividad 1Actividad 1
Actividad 1mp_va
 
Expo db G1-Prosecuion
Expo db G1-ProsecuionExpo db G1-Prosecuion
Expo db G1-ProsecuionIng. LucioJAP
 
Trabajo colaborativo2
Trabajo colaborativo2Trabajo colaborativo2
Trabajo colaborativo2ialbadanm
 

La actualidad más candente (18)

Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Pila dinamica y pila estatica
Pila dinamica y pila estaticaPila dinamica y pila estatica
Pila dinamica y pila estatica
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Pilas en Estructura de Datos
Pilas en Estructura de DatosPilas en Estructura de Datos
Pilas en Estructura de Datos
 
Actividad7
Actividad7Actividad7
Actividad7
 
10. aplicaciones de las pilas
10. aplicaciones de las pilas10. aplicaciones de las pilas
10. aplicaciones de las pilas
 
PILAS
PILASPILAS
PILAS
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
152330
152330152330
152330
 
2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores2 2 2 Arraylist Y Operadores
2 2 2 Arraylist Y Operadores
 
Estructura de Datos (LISTAS, COLAS y PILAS)
Estructura de Datos (LISTAS, COLAS y PILAS) Estructura de Datos (LISTAS, COLAS y PILAS)
Estructura de Datos (LISTAS, COLAS y PILAS)
 
Cuestionario 1
Cuestionario 1Cuestionario 1
Cuestionario 1
 
Sistemas de producción: Introducción a CLIPS
Sistemas de producción: Introducción a CLIPSSistemas de producción: Introducción a CLIPS
Sistemas de producción: Introducción a CLIPS
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Colas
ColasColas
Colas
 
Expo db G1-Prosecuion
Expo db G1-ProsecuionExpo db G1-Prosecuion
Expo db G1-Prosecuion
 
Trabajo colaborativo2
Trabajo colaborativo2Trabajo colaborativo2
Trabajo colaborativo2
 

Similar a Pilas Struct

Similar a Pilas Struct (20)

Pilas Dylan Medina.pdf
Pilas Dylan Medina.pdfPilas Dylan Medina.pdf
Pilas Dylan Medina.pdf
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
Pilas
PilasPilas
Pilas
 
DECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdfDECLARACIÓN DE PILAS.pdf
DECLARACIÓN DE PILAS.pdf
 
Gilmora
GilmoraGilmora
Gilmora
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como 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
PilasPilas
Pilas
 
1.4.2 Operaciones básicas con pilas.pptx
1.4.2 Operaciones básicas con pilas.pptx1.4.2 Operaciones básicas con pilas.pptx
1.4.2 Operaciones básicas con pilas.pptx
 
Informe de Pila.pdf
Informe de Pila.pdfInforme de Pila.pdf
Informe de Pila.pdf
 
Pilas En C++
Pilas En C++Pilas En C++
Pilas En C++
 
PILAS
PILASPILAS
PILAS
 
Listas cola y_pila.ranli_y_eladio
Listas cola y_pila.ranli_y_eladioListas cola y_pila.ranli_y_eladio
Listas cola y_pila.ranli_y_eladio
 
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
TRABAJO JOSE GABRIEL LUCENA PILAS PDF1233
 
Presentacion De Cola
Presentacion De ColaPresentacion De Cola
Presentacion De Cola
 
Presentacion De Cola
Presentacion De ColaPresentacion De Cola
Presentacion De Cola
 
Presentacion De Cola
Presentacion De ColaPresentacion De Cola
Presentacion De Cola
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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
 
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 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
 
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
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 

Último (10)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
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 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
 
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
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
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
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Pilas Struct

  • 1. Johan Ferney Pino Cuesta Jeiler Antonio Padilla Córdoba Marian Ramírez Garrido Dumar Leonardo Serna Arley Fernando Blandón Valencia ESTRUCTURA DE DATOS PILAS PRESENTADO POR:
  • 2. HISTORIA El método de pila para la evaluación de expresiones fue propuesto en 1955 y dos años después patentado por Fiedrich L.Bauer, quién recibió en 1988 el premio "IEEE Computer Society Pioneer Award" por su trabajo en el desarrollo de dicha estructura de datos.
  • 3. PILAS Es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (last in first out, es decir, "último en entrar, primero en salir") que permite almacenar y recuperar datos. Son aquellas que solo tiene 2 operaciones, Push (Inserción) y Pop (Eliminación) la cual solo se puede efectuar por un extremo llamado Top.
  • 4. ACCESO A LA PILA realizamos 2 operaciones a través de la CABEZA, Para manejar los datos se cuenta con dos operaciones básicas: "apilar" (Push (Inserción)), que coloca un objeto en la pila, y su operación inversa, "retirar" o "desapilar" (Pop (Eliminación)), que retira el último elemento apilado.
  • 5. OPERACIONES Una pila cuenta con 2 operaciones imprescindibles: apilar y des-apilar, a las que en las implementaciones modernas de las pilas se suelen añadir más de uso habitual. • Crear: se crea la pila vacía. • Apilar: se añade un elemento a la pila.(push) • Des-apilar: se elimina el elemento frontal de la pila.(pop) • Cima: devuelve el elemento que está en la cima de la pila. (top o peek) • Vacía: devuelve cierto si la pila está vacía o falso en caso contrario.
  • 6. OPERACIÓN CREAR_PILA La creación de la pila se realizará mediante el constructor por defecto. La tarea que deberá realizar será decir que no existen elementos en la pila: stack: Pila stack.Cima ← 0 Pila::Pila (void) { cima = 0; }
  • 7. OPERACIÓN DE INSERCIÓN DE INFORMACIÓN (APILAR) La operación de inserción normalmente se conoce por su nombre inglés Push, o Apilar. La operación aplicada sobre un pila y un valor x, inserta x en la cima de la pila.
  • 8. Algoritmo Apilar Entradas x: Valor {* elemento que se desea insertar *} stack: Pila de Valor Salidas stack Inicio Si ( stack.Cima = MAX ) entonces Error "pila llena" Sino stack.Cima ← stack.Cima + 1 stack.Info [stack.Cima] Fin_sino Fin bool Pila::Apilar (Valor x) { bool error; if (cima == MAX) error = true; else } error = false; info[cima] = x; cima++; { return error; } ;
  • 9. OPERACIÓN DE ELIMINACIÓN DE INFORMACIÓN (DESAPILAR) La operación de borrado elimina de la estructura el elemento situado en la cima. Normalmente recibe el nombre de Pop en la bibliografía inglesa.
  • 10. Algoritmo Desapilar Entradas stack: Pila de Valor Salidas stack x: Valor Inicio {* comprobar si se pueden eliminar elementos de la pila *} Si ( Pila_Vacia ( stack ) ) entonces Error “pila vacia” sino stack.Cima ← stack.Cima - 1 Fin_si Fin bool Pila::Desapilar (void) } bool error; if (cima == 0) error = true; else } error = false; cima--; {
  • 11. OPERACIÓN DE CONSULTA DE INFORMACIÓN (CIMA_PILA) La operación de consulta de la información, sólo puede acceder al elemento que esté situado en la cima de la pila, y proporcionar su valor.
  • 12. Algoritmo Cima_Pila Entradas stack: Pila de Valor Salidas Valor Inicio { comprobar si existe información en la pila *} Si ( Pila_Vacia ( stack ) ) entonces Error “pila vacia” sino Devolver ( stack.Info [stack.Cima] ) Fin_si Fin bool Pila::CimaPila (Valor & x) } bool error; if (cima == 0) error = true; else } error = false; x = info[cima - 1]; { return error;
  • 13. OPERACIÓN PILA_VACIA Esta operación permitirá determinar si es posible eliminar elementos. La pila estará vacía si la cima está apuntando al valor cero. Algoritmo Pila_Vacia Entrada stack: Pila Salida (CIERTO, FALSO) Inicio Si ( stack.Cima = 0 ) entonces Devolver ( CIERTO ) Sino Devolver ( FALSO ) Fin_si Fin
  • 14. EJEMPLO APLICADO EN LA VIDA REAL Un ejemplo típico de pila lo constituye un montón de platos cuando se les esta lavando, cuando los platos esta listo para lavarlos lo primero que hacemos es tomar un plato y después de realizar el proceso lo ubicamos en la primera posición , luego cogemos el segundo plato y lo ubicamos encima del primero hay estamos realizando la operación de apilar (push), esto lo hacemos hasta que ya no haya mas platos por lavar y la pila de platos esta terminada (Cima Llena ).
  • 15. Ahora los tenemos que ubicar dentro de la cocina integral de nuestra casa, y con ello realizamos la operación de des-apilar (pop), luego cogemos el ultimo plato que lavamos y lo vamos metiendo en la posición correspondiente es que donde aplicamos la forma LIFO (el último en entrar es el primero en salir) ó (el último en lavar es el primero en colgar) y así sucesivamente con los demás platos hasta tener la pila vacía.
  • 16. EJEMPLO ALGORITMICO En la figura podemos observar que el valor del tope (posición del ultimo elemento) varia si operamos sobre la pila (si añadimos o eliminamos elementos). Si la pila esta vacía, es decir, si no tiene ningún elemento, el tope no tiene un valor definido. Del ejemplo, también se desprende una propiedad interesante: la pila es una estructura de datos dinámica, ya que su tamaño varia cuando hacemos una operación (apilar o desapilar) sobre ella. tope tope tope tope Apilar Apilar Apilar ApilarDesapilar E1 E1 E1 E1 E1 E2 E2 E2 E2 E3 E4