Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

IBD Curso 2007 Clase 2.
Diseño y análisis de algoritmos
Programación de Computadores
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
PILA.
ESTRUCTURA DE DATOS Unidad 03 COLAS.
Pilas y Colas Fundamentos Estructuras de Datos (Programación 2)
Listas enlazadas c++ Prof. Franklin Cedeño.
ESTRUCTURAS LINEALES UNIDAD 3.
Administración de procesos y del procesador.
Programación modular Procedimientos y Funciones
Universidad Central II-35 Estructuras de Datos
Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.
Unidad 4: Análisis de algoritmos (parte II)
Teoría de lenguajes y compiladores
Administración de procesos y del procesador.
Estructuras de Datos Especificación formal de Listas.
Estructuras de datos M.I.A Daniel Alejandro García López.
Programación II Colas Igor Santos Grueiro.
Tecnología de la Programación Javier Nieves Acedo Standar Template Library (STL)
Colas y Listas Enlazadas
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Teoría de lenguajes y compiladores
Tema Nº4.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Pilas Una pila es una estructura lineal de elementos en donde se pueden agregar o eliminar datos únicamente por uno de los dos extremos. En consecuencia.
TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
Arboles Binarios de expresiones
Semana 5 Subprogramas..
PROCEDIMIENTOS FUNCIONES
Coloración de Grafos Planos
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
POR: Meza Guevara Sandra Fabiola Contreras Meléndez Damariz Figueroa Cisneros Ricardo UNIVERSIDAD TECNOLÓGICA DE DURANGO TECNOLÓGIAS DE LA INFORMACIÓN.
PILAS, COLAS, RECURSIVIDAD.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
COMPUTACION 2009 Clase 6 Clase 7.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación I Arreglos II- Matrices.
Pilas y Colas Estructuras de Datos.
75.40 Algoritmos y Programación I
Teoría – Alejandro Gonzalez
Sincronización de Procesos
República Bolivariana de Venezuela. Ministerio del PP para la Defensa. Universidad Nacional Experimental de la Fuerza Armada. Cátedra: Instrucción Militar.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Vectores y Matrices.
ADMINISTRACION DE INVENTARIOS
Punteros Recomendado: 1. Nivelación Funciones
Son estructuras de datos que almacenan y recuperan sus elementos atendiendo a un estricto orden (LIFO Last – in, first –out Ultimo en entrar – primero.
Programación de Computadores
INSTITUTO TECNOLOGICO DE APIZACO
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Lic. En C.C. Ann Margareth Meza Rodríguez
Estructura de Datos..
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
Estructura de Datos PILAS. es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In.
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
ESTRUCTURAS LINEALES “LA PILA”
L ENGUAJE DE E SPECIFICACIÓN Algoritmos y Estructuras de Datos I Especificación – Práctica 2 AEDI Especificación – Práctica 2 1.
Pilas Grupo 4. 1 Stack o Pila Definición: Una pila es una estructura de datos, a la cual se le puede ingresar o sacar elementos por un sólo lado. También.
Estructura de Datos PILA Universidad Hispanoamericana Prof. Ing. Erick López.
Listas Dinámicas.
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS.
Transcripción de la presentación:

Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.

COLAS El concepto de cola es ampliamente utilizado en la vida real. Fila en el cine, en el autoservicio, cajeros automáticos, etc. Esto significa que formamos una fila en la que el primero que llega es el primero en obtener el servicio y salir de la misma. Esta política de funcionamiento se denomina FIFO (First In First Out), es decir, el primer elemento en entrar es el primer elemento en salir: Definición: Una cola es un conjunto ordenado de elementos homogéneos, en el cual los elementos se eliminan por uno de sus extermos, denominado frente (cabeza), y se añaden por el otro extremo, denominado fondo (final). Las eliminaciones y añadidos se realizan siguiendo una política FIFO.

COLAS Al igual que las pilas, las colas se gestionan añadiendo y borrando elementos de las mismas. En este caso en particular las dos operaciones básicas de maniopulación funcionan del siguiente modo: AÑADIR: Añade un elemento al final de la cola. ELIMINAR: Elimina un elemento del frente de la cola. Cab E2 Cab E1 Cab E1 Cab E1 E3 E2 E2 E2 E4 Fin E3 E3 E3 Fin Fin E5 E4 E4 Fin E5

COLAS En el ámbito de la informática las colas son ampliamente utilizadas. Por ejemplo, los sistemas operativos suelen utilizar esta estructura de datos para gestionar los recursos que pueden ser compartidos por varios procesos (gestión de memoria, tiempo de procesador, etc). En general, las colas se aplicarán cuando los objetos manejados sigan una política FIFO.

COLAS - Axiomas ColaVacia(CrearCola) = Verdadero ColaVacia(Añadir(S,e))=falso Eliminar(CrearCola) = error Eliminar(Añadir(S,e)) = Si ColaVacia(S) entonces CrearCola sino Añadir(Eliminar(S),e) Cabeza(CrearCola) = error Cabeza(Añadir(S,e)) = Si ColaVacia(S) entonces e sino Cabeza(S)

COLAS - Implementación CONST Max = … ; {número máximo de elementos} TYPE TipoCola = Record datos:array[1..Max] of TipoBase; Frente, Fondo:0..Max End;

COLAS - Implementación PROCEDURE CrearCola (var q:tipoCola); Begin q.frente:=0; q.fondo:=0; End; PROCEDURE ColaVacia (q:TipoCola):Boolean; ColaVacia:=(q.frente=q.fondo) PROCEDURE Frente(q:TipoCola; var e:TipoBase); If Not ColaVacia(q) then e:=q.datos[q.frente+1] end;

COLAS - Implementación PROCEDURE Eliminar (var q:tipoCola); Begin If Not ColaVacia(q) Then q.frente:=q.frente+1 end End; PROCEDURE Añadir (var q:TipoCola; e:TipoBase); If Not ColaLlena(q) Then q.fondo:=q.fondo+1; q.datos[q.fondo]:=e End

COLAS Circulares

COLAS - Implementación FUNCTION Siguiente ( i:INTEGER ):INTEGER; BEGIN IF (i<>MAX) THEN Siguiente := i+1 ELSE Siguiente := 1 END; Siguiente := i MOD MAX + 1

COLAS - Implementación PROCEDURE CrearCola ( VAR q: TipoCola ); BEGIN q.cabeza := MAX; q.final := MAX END;

COLAS - Implementación FUNCTION ColaVacia ( q: TipoCola ): BOOLEAN; BEGIN ColaVacia := (q.cabeza=q.final) END; PROCEDURE Cabeza (q: TipoCola ; VAR e:Tipobase;); IF Not ColaVacia(q) THEN e := q.datos[Siguiente(q.cabeza)] END

COLAS - Implementación PROCEDURE Eliminar ( VAR q: TipoCola); BEGIN IF Not ColaVacia(q) THEN q.cabeza := Siguiente(q.cabeza) END END;

COLAS - Implementación PROCEDURE Añadir (VAR q: TipoCola; e:Tipobase); BEGIN IF Not ColaLlena(q) THEN q.final := Siguiente(q.final); q.datos[q.final] := e END END;

COLAS - Implementación

COLAS - Implementación

COLAS - Implementación

COLAS - Implementación

EJERCICIO COLA Un concesionario de autos tiene un número limitado m de modelos, todos en un número limitado c de colores distintos. Cuando un cliente quiere comprar un auto, pide un auto de un modelo y color determinados. Si el auto de ese modelo y color no está disponible en el concesionario, se toman los datos del cliente (nombre y dirección), que verá atendida su petición cuando el auto esté disponible. Si hay más de una petición de un auto de las mismas características, se atienden las peticiones por orden cronológico. Se pide: Definir la estructura de datos más adecuada capaz de contener las peticiones de un modelo y color de auto. b) Definir una operación que, dado un cliente (nombre y dirección) que desea comprar un auto de un modelo y color determinado, coloque sus datos como última petición de ese modelo y color.

EJERCICIO COLA c) Definir una operación que, dado un modelo del que se han recibido k autos de determinado color, elimine los k primeros clientes de la lista de peticiones de ese coche y los devuelva en un vector, sabiendo que k <= 20.