Vous êtes sur la page 1sur 19

Colas, Pilas y Lista

Pila
Las pilas son una secuencia en la que permite almacenar y recuperar datos. Se
caracterizan por tener 2 operaciones:

1. Insercin PUSH. Que se realiza por un extremo llamado frente.
2. Extraccin POP. Que se realiza por un extremo llamado final.

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.
Funciones
Crear: se crea la pila vaca. (constructor)
Tamao: regresa el numero de elementos de la pila. (size)
Apilar: se aade 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)
Vaca: devuelve cierto si la pila est vaca o falso en caso contrario (empty).
Llena: devuelve cierto si la pila est llena o falso en caso contrario (full).

Usos:
-Evaluacin de expresiones en notacin postfija (notacin polaca inversa).
-Reconocedores sintcticos de lenguajes independientes del contexto
-Implementacin de recursividad.

Pila: Grupo Ordenado, (de acuerdo al tiempo que llevan en la pila) de Elementos
Homogneos (todos del mismo tipo).
Acceso a la Pila: aadir y eliminar elementos, SLO a travs de la CABEZA de
la Pila

Pilas. Operaciones
INTERFAZ CLASE CPila
TIPOS
TipoElemento ... // cualquier tipo de datos
METODOS
// Aade 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()
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 vaca. Esta operacin es la misma que la de las listas generales.*/
Precondiciones: N=0
Pos condiciones: pila creada

insertarPila(crearPila)
*/ mediante este mtodo se insertan datos a la pila ya creada. Con las pilas se usa
el mtodo push para insertar*/
Precondiciones: pila <> null
Pos condiciones: insertarPila completado (datos insertados en pila)

borrarPila()
*/con este mtodo se elimina cierta pila de datos */
Precondiciones: pila <> null
Pos condiciones: pila eliminada

Cola
Las colas son una secuencia en la que sus elementos se caracterizan por tener 2
operaciones:

1. Insercin PUSH. Que se realiza por un extremo llamado frente.
2. Extraccin POP. Que se realiza por un extremo llamado final.
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.


Funciones
Crear: se crea la cola vaca.
Encolar (aadir, entrar, insertar): se aade un
elemento a la cola. Se aade 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.
TIPOS DE COLAS:
-Bicolas
Son colas en donde los nodos se pueden aadir y quitar por ambos extremos; se les
llama DEQUE (Double Ended QUEue).

Hay variantes:
-Bicolas de entrada restringida: Son aquellas donde la insercin slo se hace por el
final, aunque podemos eliminar al principio al final.
-Bicolas de salida restringida: Son aquellas donde slo se elimina por el final,
aunque se puede insertar al principio y al final.

-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.


Realizacin 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.
TAD Colas
Nombre: TAD Cola
Operaciones:
-ColaCrear
Precondiciones: Ninguna
PostCondiciones: Cola Creada

-ColarInsertar:
Precondiciones: Cola Crear
PostCondiciones: Cola Con valores Insertadas
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
Listas
Es una secuencia de cero o ms 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 posicin de un elemento es el lugar que ocupa dentro de la secuencia de valores
que componen la estructura.






Tipos de Lista
Lista densa: la misma lista determina el prximo elemento de la lista. Un
ejemplo de este: Un Array.

Lista enlazada: el prximo elemento de la lista lo determina el elemento
actual. Por ende, guardar la primera posicin del primer elemento es
primordial. Esto la hace bastante dinmica, debido a que su peso cambio en su
tiempo de ejecucin.


Video Sobre Pila, Colas y Listas
http://www.youtube.com/watch?v=-Shr2s0gYao


Gracias

Vous aimerez peut-être aussi