Estructuras de Datos y Algoritmos TDA Cola. TDA Una Cola es una arreglo lineal de elementos con las siguientes operaciones: –Crear una cola vacía –determinar.

Slides:



Advertisements
Presentaciones similares
PILA.
Advertisements

Uso de variables de tipo referencia
Programación II Recursividad
TDA LISTA ESTRUCTURAS DE DATOS.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Programación II Listas
Estructuras de datos y algoritmos
Inteligencia Artificial Búsqueda informada y exploración
Programación y Estructuras de Datos
STEPHANNIE RODRIGUEZ BATUN. La información que necesita en un programa para su función se obtiene mediante una entrada de datos de una fuente que puede.
Desarrollo de Aplicaciones para Internet
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.
2.3 Cola de números enteros.
PROGRAMACION DE Pilas o Stacks y Colas
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicios con listas.
Marzo 2007 Lenguajes Visuales Clase III.
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)
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Colas y Listas Enlazadas
Genericidad Los datos de aplicaciones muy diferentes puede modelarse con frecuencia a partir de tipos de datos cuyas operaciones no dependen del tipo de.
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Pila1UVM Colas. Pila2UVM Pila3UVM 3.1 Objetivos El estudiante manejará el tad Cola, sobre memoria estática.
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Listas circulares.
Técnicas avanzadas de programación Interfaces
Programación orientada a objetos
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Vectors (Vectores) Agustin J. González ELO329. Contenidos Qué es un vector? Declaración de Objetos Vectores Inserción y eliminación de items Uso de sub-índices.
UNITA - IBARRA TRIGGERS
Estructuras de Datos Dinámicas: Listas Programación I Departamento de Informática Universidad Nacional de San Luis Argentina 2014.
Pilas y Colas Estructuras de Datos.
TDA PILA ESTRUCTURAS DE DATOS.
LISTA DOBLEMENTE ENLAZADA
 Ignacio Soto Valdez R  Paola Karina Suarez Salazar R  Mario Alberto Castillo Aviles R
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
Algoritmos y Estructuras de datos Listas Doblemente enlazadas
PATRONES DE DISEÑO Y ESTRUCTURAS DE DATOS
Lic. En C.C. Ann Margareth Meza Rodríguez
Programación orientada a objetos Capítulo 4 Agrupar objetos.
Lic. En C.C. Ann Margareth Meza Rodríguez
Práctica Profesional PHP.
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
Listas. Utilización de un TAD Lista. Interfaz del TAD LISTA public interface Lista { void crearNodo (); /*Crea un nuevo nodo en el TadLista*/ int devolverClave.
PROGRAMACION DE Pilas o Stacks
Algoritmo.
int cantidad, horas, cuota; float precio, peso; cantidad = 5; // Le asigno un número a la variable Cantidad; horas = // Le asigno 30 a la variable.
M.C. Meliza Contreras González
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Algoritmos y Programación III 4. Colecciones, excepciones Carlos Fontela, 2006.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
PROGRAMACION DE Pilas o Stacks y Colas
LENGUAJE DE PROGRAMACIÓN
Ficha de datos Créditos Institucionales: 8 créditos.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Listas Dinámicas.
 DIANA GARCIA VALERIO. CONCEPTO DE FLUJO DE JAVA:  La información que necesita un programa para su función se obtiene mediante una entrada de datos.
Tratamientos Secuenciales Generalizados II Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 19 Versión
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.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
Árboles Binario de Búsqueda
Transcripción de la presentación:

Estructuras de Datos y Algoritmos TDA Cola

TDA Una Cola es una arreglo lineal de elementos con las siguientes operaciones: –Crear una cola vacía –determinar si una cola está vacía –añadir un elemento –remover el elemento más antiguo –remover todos los elementos –devolver el elemento más antiguo

public interface QueueInterface { public boolean isEmpty(); // Determines whether a queue is empty. // Precondition: None. // Postcondition: Returns true if the queue is empty; // otherwise returns false. public void enqueue(Object newItem) throws QueueException; // Adds an item at the back of a queue. // Precondition: newItem is the item to be inserted. // Postcondition: If the operation was successful, newItem // is at the back of the queue. Some implementations // may throw QueueException if newItem cannot be added // to the queue. public Object dequeue() throws QueueException; // Retrieves and removes the front of a queue. // Precondition: None. // Postcondition: If the queue is not empty, the item // that was added to the queue earliest is returned and // the item is removed. If the queue is empty, the // operation is impossible and QueueException is thrown.

public void dequeueAll(); // Removes all items of a queue. // Precondition: None. // Postcondition: The queue is empty. public Object peek() throws QueueException; // Retrieves the item at the front of a queue. // Precondition: None. // Postcondition: If the queue is not empty, the item // that was added to the queue earliest is returned. // If the queue is empty, the operation is impossible // and QueueException is thrown. } // end QueueInterface

Implantación dinámica con referencias 2417 firstNode lastNode Con dos amarres:

Implantación dinámica con referencias 2417 lastNode Con un amarre:

Insertar 2417 lastNode 3 newNode Node newNode = new Node(); newNode.setInfo(3);

Insertar 2417 lastNode 3 newNode newNode.setNext(lastNode.getNext())

Insertar 2417 lastNode 3 newNode lastNode.setNext(newNode)

Insertar 2417 lastNode 3 newNode lastNode = newNode

Insertar 2417 lastNode 3 fine

Remover 2417 lastNode Se elimina este

Remover 2417 lastNode lastNode.setNext(lastNode.getNext().getNext());

Reusando Listas

Remover 2417 lastNode Java lo elimina

Implantación estática back M-1 M 0 front

Insertar back M-1 M 0 front cambia ron

Remover back M-1 M 0 front

Remover back M-1 M 1 front cambió

Otro estado que representa la misma cola 17 1 back front Remover: front = (front + 1) % 50; Insertar: back = (back + 1)%50; A[back] = info;

Estructuras de Datos y Algoritmos TDA Cola: Aplicaciones

Amortiguadores (buffers) Leer caracteres de un teclado (sistema operativo) –los caracteres tecleados poeden ser entrados en una fila –el sistema los puede ir sacando mientras sean necesitados La lectura de paquetes de información en redes

En el Metro de Boston...

Palíndromes Es una palabra que lee igual al derecho y al revés (radar) estiba devuelve elementos al revés fila lo devuelve en orden algoritmo: –meter caracteres en fila f y estiba e –sacarlos uno a uno de la fila y la estiba y compararlos –si todos son iguales es un palíndrome

Simulaciones Muchas simulaciones involucran eventos que deben ser procesados en el orden que ocurren (sugiere cola) El tiempo transcurrido se simula con un ciclo. Cada iteración representa una cantidad fija de tiempo hay una fila de eventos por procesar a cada iteración se generan y procesan eventos se usan criterios estadísticos para generar eventos

Simulaciones (ejemplo) Flujo de clientes en un banco eventos generados: llegadas, salidas Estructuras de datos: una cola de eventos L Hora de llegada Tiempo de transacción S Hora de salida Evento de llegada Evento de salida Evento

Palindromes Codigo que compara: while(!e.isEmpty()) if(e.pop() != f.remove()) return false; return true;

ListaDeEventos como TDA Nodos como los de la pasada transparencia Operaciones: –createEventList( ) // crea lista vacía –eventListIsEmpty( ) // determina si vacía –eventListInsert( ) // añade evento a la lista de // modo que esté ordenada // por hora –eventListDelete( ) // elimina primer evento –eventListRetrieve( ) // devuelve primer evento