listas, pilas y colas

25
Listas, Pilas y Colas Estructura de Datos Elvis R. Perez 10-1202 Universidad Iberoamericana (UNIBE)

Upload: elvis-perez

Post on 03-Jul-2015

2.118 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Listas, pilas y colas

Listas, Pilas y ColasEstructura de Datos

Elvis R. Perez

10-1202

Universidad Iberoamericana (UNIBE)

Page 2: Listas, pilas y colas

LISTAS

Page 3: Listas, pilas y colas

El sistema de venta de boletos de un teatro se puede modelarcon dicha estructura, ya que esta tiene un cantidad x delugares los cuales están representados con una posición única.

Indicar objetos reales que se puedan modelar con dicha estructura

Page 4: Listas, pilas y colas

- Es una estructura que contiene datos los cuales tienen un antecesor y un predecesor.

- Es una estructura de datos secuencial.

Presentar varias definiciones de la misma

Page 5: Listas, pilas y colas

Nombre: TAD ListaObjeto Abstracto: ListaOperaciones:

• Inicializar: - Precondiciones: Ninguna

- PostCondiciones: Inicializa la lista asignando la función de comparación proporcionada y estableciendo el numero de elementos a cero y el elemento actual a ninguno.

Proponer un TAD que modele las Listas

Page 6: Listas, pilas y colas

• Destruir:

- Precondiciones: Lista Inicializada

- PostCondiciones: Se libera la memoria interna utilizada para representar la lista. Se establece el número de elementos a cero y el elemento actual a ninguno.

• Lista Llena:- Precondiciones: Lista inicializada

- PostCondiciones: Comprueba si queda espacio en la lista para insertar un nuevo elemento.

Page 7: Listas, pilas y colas

• Elemento actual:

- Precondiciones: Lista inicializada

- PostCondiciones: Se devuelve la dirección de memoria correspondiente al elemento actual de la lista, o el valor nil si no existe elemento actual o la lista está vacía.

Page 8: Listas, pilas y colas

• Ir a inicio:

- Precondiciones: Lista inicializada

- Postcondiciones: El elemento actual pasa a ser el primero de la lista. Si la lista está vacía el elemento actual pasa a ser nil.

Page 9: Listas, pilas y colas

• Ir a siguiente:

- Precondiciones: Lista inicializada

- Postcondiciones: El nuevo elemento actual pasa a ser el elemento que sigue en la lista al anterior elemento actual. Si el anterior elemento actual no existía o era el último el elemento actual pasa a ser nil.

Page 10: Listas, pilas y colas

• Buscar:

- Precondiciones: Lista inicializada

- Postcondiciones: El elemento actual pasa a ser el primer elemento de la lista igual o mayor que el valor proporcionado. Las comparaciones entre elementos se realizan utilizando la función de comparación proporcionada en última llamada a Reordenar, o bien, si no se ha realizado ninguna, en la llamada a Inicializar. Si la lista está vacía o el valor proprocionado es mayor que todos los que existen en la lista, el elemento actual pasa a ser nil.

Page 11: Listas, pilas y colas

• Insertar:

- Precondiciones: Lista inicializada y no llena

- Postcondiciones: Se inserta el elemento dentro de la lista de forma que su elemento siguiente (si existe) sea estrictamente mayor y su elemento anterior (si existe) sea menor o igual. Las comparaciones entre elementos se realizan de la manera descrita en la operación Buscar. El elemento actual pasa a ser el elemento insertado.

Page 12: Listas, pilas y colas

• Borrar:

- Precondiciones: Lista inicializada y elemento actual distinto de nil.

- Postcondiciones: Se elimina el elemento actual de la lista. El nuevo elemento actual pasa a ser el siguiente al elemento eliminado. Si se elimina el último elemento de la lista el elemento actual pasa a ser nil.

Page 13: Listas, pilas y colas

• Reordenar:

- Precondiciones: Lista inicializada

- Postcondiciones: Se asigna la función de comparación proporcionada a la lista y se reordenan los elementos de acuerdo a la nueva función de comparación. El elemento actual pasa a ser nil.

Page 14: Listas, pilas y colas

En informática, una ventana es un área visual, normalmente de forma rectangular, que contiene algún tipo de interfaz de usuario, mostrando la salida y permitiendo la entrada de datos para uno de varios procesos que se ejecutan simultáneamente. Las ventanas se asocian a interfaces gráficas, donde pueden ser manipuladas con un puntero.

Una lista es una estructura que contiene datos los cuales tienen un antecesor y un predecesor.

Relacionar el concepto de Ventana con el de Lista

Page 15: Listas, pilas y colas

Vectores: En programación, una matriz o vector (llamados en inglésarrays) es una zona de almacenamiento contiguo, que contiene unaserie de elementos del mismo tipo.

Listas doblemente enlazadas: Las listas doblemente enlazadas sonestructuras de datos semejantes a las listas enlazadas simples.Laasignación de memoria es hecha al momento de la ejecución.Encambio, en relación a la listas enlazada simple el enlace entre loselementos se hace gracias a dos punteros (uno que apunta hacia elelemento anterior y otro que apunta hacia el elemento siguiente).

Describir las implementaciones de Listas

Page 16: Listas, pilas y colas

PILAS

Page 17: Listas, pilas y colas

Un Sistema de celdas de baterías, el cual sirva para indicar cuantas celdas le que dan a una batería.

Indicar objetos reales que se pueden modelar con dicha estructura

Page 18: Listas, pilas y colas

- Montón o cúmulo que se hace poniendo una sobre otra laspiezas o porciones de que consta algo.

- Una pila es una lista ordinal o estructura de datos en la queel modo de acceso a sus elementos es de tipo LIFO (últimoen entrar, primero en salir) que permite almacenar yrecuperar datos. Esta estructura se aplica en multitud deocasiones en el área de informática debido a su simplicidady ordenación implícita de la propia estructura.

Presentar varias definiciones de la misma

Page 19: Listas, pilas y colas

COLAS

Page 20: Listas, pilas y colas

Se podría utilizar en un sistema para controlar problemas en el trafico vehicular.

Su utilización es infinita, desde la simulación de una cola formada frente a un cajero automático, hasta la cola de impresión.

Indicar objetos reales que se pueden modelar con dicha estructura

Page 21: Listas, pilas y colas

- Una cola es una estructura de datos, caracterizada por seruna secuencia de elementos en la que la operación deinserción push se realiza por un extremo y la operación deextracción pop por el otro. También se le llama estructuraFIFO (del inglés First In First Out), debido a que el primerelemento en entrar será también el primero en salir.

- Es un método de estructuración datos, que permitealmacenar y recuperar datos.

Presentar varias definiciones de la misma

Page 22: Listas, pilas y colas

Nombre: TAD COLA

Operaciones:• ColaCrear:

- Precondiciones: Ninguna- PostCondiciones: Cola Creada

• ColaInsertar: - Precondiciones: Cola Creada- PostCondiciones: Cola con valores insertados

Proponer un TAD que modele las COLAS

Page 23: Listas, pilas y colas

• 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 vacía

Page 24: Listas, pilas y colas

La cola circular propone tratar el arreglo como un circulodonde aLength se hace igual a aSize, el sieguiente elemento esel de indice 0. Esto permite utilizar todos los espacios quequedan libres en el arreglo luego de realizar eliminaciones denodos.

Describir las implementaciones de COLAS con vectores circulares

Page 25: Listas, pilas y colas

Muchas Gracias!