3.1 Pilas

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 25

3.

1
INTEGRANTES DEL EQUIPO: PILAS
Álvarez Cabrera Brayan Alexis 20091023 Materia:
Fernández Pérez Felipe 20091079 Estructura de Datos XA
Franco Carrillo Benjamín 20091088 Horario de clases:
Martínez Vidales Yadira Lizeth C19090985 Martes y viernes 7:00 am – 9:00 am
Pérez Gómez Miguel Ángel 20091154 Miércoles 8:00 am – 9:00 am
Romero Arriaga Emiliano 20091170 Fecha:
Vázquez Díaz Cristian 20091200 05 de octubre del 2021.
P I LA S

2
DEFINICIÓN

Es una lista ordenada o  estructura de


datos que permite almacenar y recuperar
datos, siendo el modo de acceso a sus
elementos de tipo LIFO (del inglés Last
“ In, First Out, «último en entrar, primero
en salir»). Esta estructura se aplica en
multitud de supuestos en el área de
la informática  debido a su simplicidad y
capacidad de dar respuesta a numerosos
procesos.

3
CARACTERÍSTICAS
PRINCIPALES

◦ Modo de acceso LIFO (Last in, First out).


◦ Sus datos se colocan unos sobre otros, haciendo
referencia a su nombre, podríamos llamarle "Pila
de datos".
◦ Únicamente se pueden obtener o ingresar datos
desde uno de los extremos de la Pila.
◦ Una Pila al momento de su creación es una Pila
vacía, su tamaño va incrementando a medida que
se agregan datos.

4
REPRESENTACIÓN EN
MEMORIA
Es importante definir el
tamaño máximo de la pila,
así como una variable
auxiliar que se denomina
TOPE. Está variable se
utiliza para indicar el último
elemento que se insertó en la
pila.

5
EJEMPLO 1
Eliminar elemento

6
EJEMPLO 2

7
Al utilizar arreglos para implementar pilas se tiene
la limitación de que se debe reservar el espacio en
memoria con anticipación. Una vez dado un
máximo de capacidad a la pila no es posible insertar
un número de elementos mayor que el máximo
establecido. Si esto ocurre, en otras palabras si la
pila esta llena y se intenta insertar un nuevo
elemento, se producirá un error conocido como
desbordamiento – overflow

8
Una posible solución a este tipo de inconvenientes consiste en definir pilas de
gran tamaño, pero esto resultará ineficiente y costoso si solo se utilizarán
algunos elementos. No siempre es viable saber con exactitud el número de
elementos a tratar, y siempre existe la posibilidad de que ocurra un error de
desbordamiento.

9
Otra posible solución. Consiste en usar espacios compartidos de memoria para la
implementación de pilas. Supongamos que se necesitan dos pilas, c/u con un tamaño máximo
de N elementos. Se definirá entonces un arreglo unidimensional de 2*N elementos, en lugar
de 2 arreglos de N elementos c/u.
La figura muestra la PILA 1
ocupará desde la posición 1 en
adelante, mientras que la PILA
2 ocupará desde la posición
2*N hacia atrás (2*N-1..) Si en
algún momento del proceso la

PILA 1 necesitará más espacio del que realmente tiene -N- y en ese momento la PILA 2 no
tiene ocupados todos sus N lugares entonces sería posible agregar elementos a la PILA1 sin
caer en un error de desbordamiento. Algo similar podría suceder con la PILA 2.

10
Pila con espacios compartidos

11
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:

◦ Crear (constructor): crea la pila vacía.


◦ Tamaño (size): regresa el número de elementos de la
pila.
◦ Apilar (push): añade un elemento a la pila.
◦ Leer último (top o peek): lee el elemento superior de
la pila sin retirarlo.
◦ Vacía (empty): devuelve cierto si la pila está sin
elementos o falso en caso de que contenga alguno.
◦ Desapilar (pop): lee y retira el elemento superior de la
pila.

12
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:

◦ Crear (constructor): crea la pila vacía.


◦ Tamaño (size): regresa el número de elementos de
la pila.
◦ Apilar (push): añade un elemento a la pila.
◦ Leer último (top o peek): lee el elemento superior de
la pila sin retirarlo.
◦ Vacía (empty): devuelve cierto si la pila está sin
elementos o falso en caso de que contenga alguno.
◦ Desapilar (pop): lee y retira el elemento superior de la
pila.

13
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:

◦ Crear (constructor): crea la pila vacía.


◦ Tamaño (size): regresa el número de elementos de la
pila.
◦ Apilar (push): añade un elemento a la pila.
◦ Leer último (top o peek): lee el elemento superior de
la pila sin retirarlo.
◦ Vacía (empty): devuelve cierto si la pila está sin
elementos o falso en caso de que contenga alguno.
◦ Desapilar (pop): lee y retira el elemento superior de la
pila.

14
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:

◦ Crear (constructor): crea la pila vacía.


◦ Tamaño (size): regresa el número de elementos de la
pila.
◦ Apilar (push): añade un elemento a la pila.
◦ Leer último (top o peek): lee el elemento superior
de la pila sin retirarlo.
◦ Vacía (empty): devuelve cierto si la pila está sin
elementos o falso en caso de que contenga alguno.
◦ Desapilar (pop): lee y retira el elemento superior de la
pila.

15
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:

◦ Crear (constructor): crea la pila vacía.


◦ Tamaño (size): regresa el número de elementos de la
pila.
◦ Apilar (push): añade un elemento a la pila.
◦ Leer último (top o peek): lee el elemento superior de
la pila sin retirarlo.
◦ Vacía (empty): devuelve cierto si la pila está sin
elementos o falso en caso de que contenga alguno.
◦ Desapilar (pop): lee y retira el elemento superior de la
pila.

16
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:

◦ Crear (constructor): crea la pila vacía.


◦ Tamaño (size): regresa el número de elementos de la
pila.
◦ Apilar (push): añade un elemento a la pila.
◦ Leer último (top o peek): lee el elemento superior de
la pila sin retirarlo.
◦ Vacía (empty): devuelve cierto si la pila está sin
elementos o falso en caso de que contenga alguno.
◦ Desapilar (pop): lee y retira el elemento superior
de la pila.

17
APLICACIONES

◦ Estructuras auxiliares en numerosos algoritmos y esquemas de programación:


- Recorridos de árboles y grafos
- Evaluación de expresiones
- Conversión entre notaciones de expresiones (postfija, prefija, infija)
◦ Gestión de los registros de activación de los subprogramas activos durante la ejecución de un
programa
◦ 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. La secuencia de operaciones
recientes se mantiene en una pila
◦ Los navegadores permiten habitualmente volver hacia atrás en la secuencia de páginas visitadas.
Las direcciones de los sitios visitados se almacenan en una pila

18
◦ Las pilas se usan en:
• Administración de llamadas a funciones.
• Equilibrio de paréntesis (corchetes y llaves) en expresiones.
• Pilas de recursividad.
• Equivalencias entre notaciones infijas, postfijas y prefijas.
• Historiales de cambios (deshacer).
• Torres de Hanoi, etc.
◦ Una estructura tipo pila es útil cuando el orden de los datos se necesita
invertir, porque es el orden natural de su funcionamiento.

19
CONCLUSIÓN

20
Una posible solución a este tipo de inconvenientes consiste en definir
pilas de gran tamaño, pero esto resultará ineficiente y costoso si solo se
utilizarán algunos elementos. No siempre es viable saber con exactitud
el número de elementos a tratar, y siempre existe la posibilidad de que
ocurra un error de desbordamiento.

21
Bibliografía

22
Referencias bibliográficas:

◦ EcuRed. (s. f.). Pila (Estructura de datos) - EcuRed. Recuperado 5 de octubre de 2021, de
https://www.ecured.cu/Pila_(Estructura_de_datos)
◦ Que son las pilas estructura de datos - EstructuraDeDatos. (s. f.). Que son las pilas estructura de datos. Recuperado 5 de
octubre de 2021, de https://sites.google.com/site/miguelestructura/que-son-las-pilas-en-estructuras-de-datos
◦ Colaboradores de Wikipedia. (2021, 30 agosto). Pila (informática). Wikipedia, la enciclopedia libre.
https://es.m.wikipedia.org/wiki/Pila_(inform%C3%A1tica)#:%7E:text=Una%20pila%20(stack%20en%20ingl%C3%A9s,
%2C%20primero%20en%20salir%C2%BB)
◦ EcuRed. (2021). Desbordamiento de búfer - EcuRed. https://www.ecured.cu/Desbordamiento_de_b%C3%BAfer
◦ colaboradores de Wikipedia. (2019, 13 julio). Desbordamiento de pila. Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Desbordamiento_de_pila
◦ Editor. (2013, 9 enero). Representación en memoria de una pila. Tareas Universitarias.
https://tareasuniversitarias.com/representacion-en-memoria-de-una-pila.html
◦ colaboradores de Wikipedia. (2021, 30 agosto). Pila (informática). Wikipedia, la enciclopedia libre.
https://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica)
◦ Anonimo. (14 de 02 de 2019). Operaciones basicas de las pilas. Obtenido de
http://www.hci.uniovi.es/Products/DSTool/pilas/pilas-operaciones.html

23
◦ Universidad de Huelva. (2005 -2006). TAD Lineales: Pila, Cola y Lista. 03/10/2021, de Universidad de Huelva Sitio web:
http://informatica.utem.cl/~mcast/ESDATOS/TADS/Ttema2_0506.pdf
◦ M. en C. Edith Cristina Herrera Luna . (Marzo 2015). Estructuras de Datos Lineales. 03/10/2021, de UAEM Sitio web:
http://ri.uaemex.mx/bitstream/handle/20.500.11799/34615/secme-19001.pdf?sequence=1&isAllowed=y
◦ Pilas. (s. f.). Recuperado 4 de octubre de 2021, de https://informaticaymasparaver.weebly.com/

24
25

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy