Está en la página 1de 11

3.2 Pilas.

Como una pila de libros: vamos apilando cosas en


# la cima, o retirando de la cima. Se supone que no
se puede tomar elementos de otro sitio que no sea
la cima. De igual modo, se supone que la pila no
tiene un tamaño máximo definido, sino que puede
crecer arbitrariamente.
3.2 Pilas: Definición.
Una pila (stack en inglés) es una estructura de datos de
# tipo LIFO (del inglés Last In First Out, último en entrar,
primero en salir) que permite almacenar y recuperar
datos.

En cada momento sólo se tiene acceso a la parte superior


de la pila, es decir, al último objeto apilado (denominado
TOS, top of stack en inglés). La operación retirar permite
la obtención de este elemento, que es retirado de la pila
permitiendo el acceso al siguiente (apilado con
anterioridad), que pasa a ser el nuevo TOS.
• Consultar el codigo para crear un pila en
java y sus principales metodos
3.2.1 Pilas: Memoria.

Pila TOS 1 
1 TOS  6
6 9
9
3
3
3.2.2 Pilas: IMPLEMENTACIONES.
3.2.3 Pilas: APLICACIONES.
• Llamadas a subprogramas
• Recursividad
• Ordenación
• Tratamiento de Expresiones aritméticas
• A+B = Infija
• AB+ = posfija
• +AB = Prefijo
3.2.4 Pilas: Tratamiento de Expresiones aritméticas
Pilas: Notación infija.

Notación Infija
Es la notación ya vista que sitúa el operador entre sus operandos.
Ventaja: Es la forma natural de escribir expresiones aritméticas
Inconveniente: Muchas veces necesita de paréntesis para indicar el orden de evaluación:
A*B/(A+C) ≠ A*B/A+C
Pilas: Notación Postfija.

La notación postfija o polaca inversa es una variación de la notación prefija de forma que el
operador se pone DESPUÉS de los operandos.

Ejemplo: la expresión infija A*B / (A+C) se representaría en notación postfija como: AB*AC+/

Ventajas:
• La notación postfija (como la prefija) no necesita paréntesis.
• La notación postfija es más utilizada por los computadores ya que permite una forma muy
sencilla y eficiente de evaluar expresiones aritméticas (con pilas).

Ejemplo:
Expresión infija: X + Z * W
Expresión posfija XZW*+
Pilas: Notación Postfija=>Conversión.
Pilas: Notación Postfija=>Conversión.

Infija: A*B/(A+C)
POSTFIJA: AB*AC+/

También podría gustarte