19
Cesar Camacho R. 12-0531 Colas, Pilas y Lista

Estructura de Datos (LISTAS, COLAS, PILAS)

Embed Size (px)

Citation preview

Page 1: Estructura de Datos (LISTAS, COLAS, PILAS)

Cesar Camacho R.

12-0531

Colas, Pilas y Lista

Page 2: Estructura de Datos (LISTAS, COLAS, PILAS)

Pila

Las pilas son una secuencia en la que permite almacenar y

recuperar datos. Se caracterizan por tener 2 operaciones:

1. Inserción PUSH. Que se realiza por un extremo llamado frente.

2. Extracción POP. Que se realiza por un extremo llamado final.

Page 3: Estructura de Datos (LISTAS, COLAS, PILAS)

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.

Page 4: Estructura de Datos (LISTAS, COLAS, PILAS)

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.

Page 5: Estructura de Datos (LISTAS, COLAS, PILAS)

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

Page 6: Estructura de Datos (LISTAS, COLAS, PILAS)

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()

Page 7: Estructura de Datos (LISTAS, COLAS, PILAS)

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

Page 8: Estructura de Datos (LISTAS, COLAS, PILAS)

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

Page 9: Estructura de Datos (LISTAS, COLAS, PILAS)

Cola

Las colas son una secuencia en la que sus elementos se

caracterizan por tener 2 operaciones:

1. Inserción PUSH. Que se realiza por un extremo llamado

frente.

2. Extracción POP. Que se realiza por un extremo llamado final.

Page 10: Estructura de Datos (LISTAS, COLAS, PILAS)

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.

Page 11: Estructura de Datos (LISTAS, COLAS, PILAS)

Funciones

Crear: se crea la cola vacía.

Encolar (añadir, entrar, insertar): se añadeun elemento a la cola. Se añade al final deesta.

Desencolar (sacar, salir, eliminar): seelimina el elemento frontal de la cola, esdecir, el primer elemento que entró.

Frente (consultar, front): se devuelve elelemento frontal de la cola, es decir, elprimer elemento que entró.

Usos:

En las impresoras se usa este metodo, enlos procesos del computador.

Page 12: Estructura de Datos (LISTAS, COLAS, PILAS)

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.

Page 13: Estructura de Datos (LISTAS, COLAS, PILAS)

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

Page 14: Estructura de Datos (LISTAS, COLAS, PILAS)

TAD Colas Nombre: TAD Cola

Operaciones:

-ColaCrear

Precondiciones: Ninguna

PostCondiciones: Cola Creada

-ColarInsertar:

Precondiciones: Cola Crear

PostCondiciones: Cola Con valores Insertadas

Page 15: Estructura de Datos (LISTAS, COLAS, PILAS)

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

Page 16: Estructura de Datos (LISTAS, COLAS, PILAS)

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.

Page 17: Estructura de Datos (LISTAS, COLAS, PILAS)

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.

Page 19: Estructura de Datos (LISTAS, COLAS, PILAS)

Muchas GrAcIaS!!!