Transcript
Page 1: Listas, pilas y colas
Page 2: Listas, pilas y colas

Lista

0 Casos reales:

0 Lista de supermercado

0 Lista de la escuela

0 Lista de precios

Page 3: Listas, pilas y colas

Lista

0DefinicionesLa lista enlazada es un TDA que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinámica, por lo que no tenemos que saber "a priori" los elementos que puede contener.

una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior o posterior.

En una lista enlazada simple los sucesivos items de una lista pueden ser puestos en cualquier lugar de la memoria. En una lista enlazada simple cada elemento almacena la direccíón del siguiente. Esto contrasta con las listas sequenciales, cuyos items están contiguos en memoria.

Page 4: Listas, pilas y colas

Lista0 TAD lista:

0 TAD Lista[ TipoLO ]0 X1, ..., Xn0 { inv: Xi Xi+1, i 1 i < n }0 Constructoras:0 inicLisya: Lista

0 Modificadoras:0 insListOrd: ListOrd x TipoLO ListOrd0 elimListOrd: ListOrd x TipoLO ListOrd00 Analizadoras:0 infoListOrd: ListOrd x int TipoLO0 longListOrd: ListOrd int0 estaListOrd ListOrd x TipoLO int

Page 5: Listas, pilas y colas

Lista

0 Implementaciones:

Vectores: pertenecen a una lista ya que tienen un orden una cantidad de elementos y son del mismo tipo.

Page 6: Listas, pilas y colas

Lista

0 Las ventanas se relacionan con las listas de forma talque cuando se disponen de varias ventanas abiertasestas se agrupan en una lista y mendiante el uso de los botones de la barra de titulo se desplaza entre cada ventana de la lista.

Page 7: Listas, pilas y colas

Lista

0 Los lenguajes permiten la implementacion de listasmediante los Arreglos.

Page 8: Listas, pilas y colas

Pila

Aplicaciones Reales:

0 Cargamentos de Camiones

0Guardar en Cajas

0Equipaje de las maletas

Page 9: Listas, pilas y colas

Pila

Definiciones:

0 Una pila (stack) es una secuencia de cero o más elementos de un mismo tipo, que solamente puede crecer y decrecer por uno de sus extremos .

0 Una pila, es una estructura de datos en la que el último elemento en entrar es el primero en salir, opr lo que también se denominan estructuras LIFO (Last In, FirstOut).

Page 10: Listas, pilas y colas

Pila

TAD Pila[ TipoP ]{ inv: TRUE }Constructoras:inicPila: PilaModificadoras:adicPila: Pila x TipoP PilaelimPila: Pila Pila

Analizadoras:infoPila: Pila TipoPvaciaPila: Pila int

Destructora:destruirPila: Pila

Page 11: Listas, pilas y colas

Pila

0 Los lenguajes de programacion definiendo unavariable la cual indique la cantidad maxima de la pila, el elemento final y el vector pila.

Page 12: Listas, pilas y colas

Cola

Definicion:

0 Una cola (queue) es una estructura lineal, en la cual los elementos sólo pueden ser adicionados por uno de sus extremos y el.

0 Una cola es una estructura de datos donde el primer elemento en entrar es el primero en salir, también denominadas estructuras FIFO (FirstIn, First Out). iminados o consultados por el otro.

Page 13: Listas, pilas y colas

Cola

Ejemplos:

0 Colas de Impresion

0 Colas de Supermercado

0 Colas de Bancos

0 Colas de Datos

Page 14: Listas, pilas y colas

Cola

TAD Cola[ TipoC ]{ inv: TRUE }

Constructoras:inicCola: Cola

Modificadoras:adicCola: Cola x TipoC ColaelimCola: Cola Cola

Analizadoras:infoCola: Cola TipoCvaciaCola: Cola int

Destructora:destruirCola: Cola

Page 15: Listas, pilas y colas

Cola

COLA DE PRIORIDAD

Cuando un conjunto de procesos dentro de un computador hacen cola para utilizar algún recurso, no todos tienen la misma prioridad. Existen algunos más importantes que otros, que requieren ser atendidos con mayor prontitud. En ese caso, al entrar un nuevo elemento a la cola, debe saltarse todos aquellos cuya prioridad sea menor y se encuentren en la fila. Para sacar un elemento, lo mismo que para consultarlo, se toma el primero de la secuencia (el más antiguo de mayor prioridad). En el resto de operaciones, una cola de prioridades se comporta como una cola corriente

Page 16: Listas, pilas y colas

Cola

Cola Circular

En ella, los elementos se encuentran organizados de manera circular y uno de ellos, denominado punto de entrada, es un elemento especial sobre el cual se aplican las operaciones. Una ronda vacía se representa con el símbolo , y su punto de entrada es indefinido ( ).


Top Related