Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pilas y Colas Presentacion
Pilas y Colas Presentacion
Ampliación de informática
Índice
TDA Pila
Definición y operaciones básicas
Operaciones e implementación
Aplicaciones
TDA Cola
Definición y operaciones básicas
Operaciones e implementación
Aplicaciones
TDA PILA
Definición
Def: una pila es una lista ordenada de elementos en la que todas las
inserciones y supresiones se realizan por un mismo extremo
denominado tope o cima de la pila.
Operaciones básicas
Operaciones
Crear_pila(P: pila, ok: lógico)
Borrar_pila(P: pila, ok: lógico)
Vacía?(P: pila, resp: lógico)
Llena?(P: pila, resp: lógico)
Push(P: pila, X: elemento, resp: lógico)
Pop(P: pila, X: elemento, resp: lógico)
Top(P: pila, X: elemento, resp: lógico)
TDA PILA
Implementación
Equilibrado de símbolos
Se van leyendo los caracteres. Cuando se encuentra un elemento clave
(paréntesis, corchete…) se trata según su tipo:
Si es de apertura: se mete en la pila.
Si es de cierre:
Si la pila está vacía error.
Si la pila no está vacía:
Si no lo es error.
Si al final la pila no está vacía error
TDA PILA Aplicaciones de las pilas
Llamadas a subprogramas
Al llamar a un subprograma se necesita guardar:
Estado de las variables locales del programa que llama Registro de
Dirección del programa en la que se hizo la llamada activación
Al hacer la llamada esta información se mete en la cima de una pila.
Al terminar el subprograma, se saca la cima y se recupera el estado del
momento de la llamada vuelve al punto de ejecución donde se hizo la llamada.
El subprograma puede llamar a otros subprogramas y así sucesivamente.
Permite implementar la recursión.
Eliminación de recursividad
La recursión consume muchos recursos (memoria).
Notación infija: a + b
Notación prefija: + a b
Notación postfija: a b +
Ejemplo: 6 4 + 2 5 * +
TDA PILA Aplicaciones de las pilas
Tratamiento de expresiones aritméticas:
Paréntesis:
de apertura ‘(‘ : se mete en la pila.
de clausura ’)’ : se van llevando los operadores de la pila a la salida hasta que se encuentra uno de apertura, que se saca de la pila.
inp#foron##mátiz#ca informática
TDA COLA
Definición
Def: una cola es una lista ordenada de elementos en la que todas las
inserciones se realizan por un extremo (frente o principio) y las
supresiones se realizan por el otro (final).
Operaciones básicas
QUEUE: encolar, meter
Operaciones
Crear_cola(C: cola, ok: lógico)
Borrar_cola(C: cola, ok: lógico)
Vacía?(C: cola, resp: lógico)
Llena?(C: cola, resp: lógico)
Queue(C: cola, X: elemento, resp: lógico)
Dequeue(C: cola, X: elemento, resp: lógico)
Tamaño(C: cola, N: numérico)
TDA COLA
Definición de tipos
ELEMENTO = T;
COLA = registro de
prim, ult, tam: numérico;
arreglo: vector[1..MAX] de
ELEMENTO;
finregistro;