3.1 Pilas
3.1 Pilas
3.1 Pilas
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
3
CARACTERÍSTICAS
PRINCIPALES
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:
12
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:
13
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:
14
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:
15
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:
16
Habitualmente, junto a las dos operaciones
OPERACIONES básicas de apilar y desapilar (push, pop), las pilas
pueden implementar otra serie de funciones:
17
APLICACIONES
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