2. Pila
Las pilas son una secuencia en la que permite almacenar y
recuperar datos. Se caracterizan por tener 2 operaciones:
Inserción PUSH. Que se realiza por un extremo llamado frente.
2. Extracción POP. Que se realiza por un extremo llamado final.
1.
3. Recorrido
Estas se recorren con lo que es llamado LIFO (Last In First Out).
En la que el ultimo dato en llegar es el primero en salir.
4. Fuciones
Crear: se crea la pila vacía. (constructor)
Tamaño: regresa el numero de elementos de la pila. (size)
Apilar: se añade un elemento a la pila.(push)
Desapilar: se elimina el elemento frontal de la pila.(pop)
Cima: devuelve el elemento que esta en la cima de la pila. (top o peek)
Vacía: devuelve cierto si la pila está vacía o falso en caso contrario
(empty).
Llena: devuelve cierto si la pila está llena o falso en caso contrario (full).
Usos:
-Evaluación de expresiones en notación postfija (notación polaca inversa).
-Reconocedores sintácticos de lenguajes independientes del contexto
-Implementación de recursividad.
5. Pila: Grupo Ordenado, (de acuerdo al tiempo que llevan en la pila)
de Elementos Homogéneos (todos del mismo tipo).
• Acceso a la Pila: añadir y eliminar elementos, SÓLO a través de
la CABEZA de la Pila
6. Pilas. Operaciones
INTERFAZ CLASE CPila
TIPOS
TipoElemento ... // cualquier tipo de datos
METODOS
// Añade un elemento por la cabeza de la pila
Apilar( E TipoElemento elem)
// Saca un elemento por la cabeza de la Pila
Desapilar()
// Devuelve el elemento de la cabeza de la Pila
TipoElemento Cima()
7. TAD para modelar una Pila
Nombre: TAD Pila
Invariante: n<>0
Operaciones:
crearPila()
*/ Devuelve un valor del tipo pila preparado para ser usado y que
contiene un valor de pila vacía. Esta operación es la misma que la de
las listas generales.*/
Precondiciones: N=0
Pos condiciones: pila creada
8. insertarPila(crearPila)
*/ mediante este método se insertan datos a la pila ya creada. Con
las pilas se usa el método push para insertar*/
Precondiciones: pila <> null
Pos condiciones: insertarPila completado (datos insertados en
pila)
borrarPila()
*/con este método se elimina cierta pila de datos */
Precondiciones: pila <> null
Pos condiciones: pila eliminada
9. Cola
Las colas son una secuencia en la que sus elementos se
caracterizan por tener 2 operaciones:
Inserción PUSH. Que se realiza por un extremo llamado
frente.
2. Extracción POP. Que se realiza por un extremo llamado final.
1.
10. Recorrido
Estas se recorren con lo que es llamado FIFO (First in – First Out).
En el que el recorrido se hace sacando el primer dato que se insert
hasta llegue hasta el final.
11. Funciones
Crear: se crea la cola vacía.
Encolar (añadir, entrar, insertar): se añade
un elemento a la cola. Se añade al final de
esta.
Desencolar (sacar, salir, eliminar): se
elimina el elemento frontal de la cola, es
decir, el primer elemento que entró.
Frente (consultar, front): se devuelve el
elemento frontal de la cola, es decir, el
primer elemento que entró.
Usos:
En las impresoras se usa este metodo, en
los procesos del computador.
12. TIPOS DE COLAS:
-Bicolas
Son colas en donde los nodos se pueden añadir y quitar por
ambos extremos; se les llama DEQUE (Double Ended QUEue).
Hay variantes:
-Bicolas de entrada restringida: Son aquellas donde la inserción
sólo se hace por el final, aunque podemos eliminar al principio ó al
final.
-Bicolas de salida restringida: Son aquellas donde sólo se elimina
por el final, aunque se puede insertar al principio y al final.
13. -Cola de prioridad
Son aquellas que cumplen dos reglas :
1. De dos elementos siempre se atenderá antes al que tenga
mayor prioridad.
2. Si dos elementos tienen la misma prioridad se atiende
primero el que llego antes.
Realización Se ponen todos los nodos en la misma cola. Su
particularidad es que cada nodo tiene un campo adicional con
la prioridad del dato; de tal forma que cuando insertamos
nuevos datos, el nuevo nodo, se inserta al final de la cola de
los que tengan su misma prioridad.
14. TAD Colas
Nombre: TAD Cola
Operaciones:
-ColaCrear
Precondiciones: Ninguna
PostCondiciones: Cola Creada
-ColarInsertar:
Precondiciones: Cola Crear
PostCondiciones: Cola Con valores Insertadas
15. ColaEliminar:
Precondiciones: Cola creada y con valores insertados
Postcondiciones: Nueva cantidad de valores en la cola
ColaLlena:
Precondiciones: Cola creada y valores insertados
PostCondiciones: Mensaje de cola llena
ColaVacia:
Precondiciones: Cola Creada
PostCondiciones: Mensaje de Cola Vacia
16. Listas
Es una secuencia de cero o más elementos de un mismo tipo.
< e1, e2, …, en > (Este es un ejemplo de una lista)
La longitud se define como la cantidad de los elementos que la
component.
La posición de un elemento es el lugar que ocupa dentro de la
secuencia de valores que componen la estructura.
17. Tipos de Lista
Lista densa: la misma lista determina el próximo elemento de la
lista. Un ejemplo de este: Un Array.
Lista enlazada: el próximo elemento de la lista lo determina el
elemento actual. Por ende, guardar la primera posición del
primer elemento es primordial. Esto la hace bastante dinámica,
debido a que su peso cambio en su tiempo de ejecución.
18. Video Sobre Pila, Colas y Listas
http://www.youtube.com/watch?v=-Shr2s0gYao