UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS.

Slides:



Advertisements
Presentaciones similares
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.
Advertisements

PILA.
Pilas y Colas Fundamentos Estructuras de Datos (Programación 2)
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Estructuras de datos y algoritmos
ESTRUCTURAS LINEALES UNIDAD 3.
Utilización de un TAD Arbol.
1 Extensión de un Estructura de Datos Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
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.
9A9A9A9A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
Tema 5 Grafos. Implementación (I)..
Árboles binarios. Algoritmos básicos
Tratamiento de listas en Java
2.3 Cola de números enteros.
Tema 5 Grafos. Recorridos..
Tema 4 Árboles. Árbol sobre matriz.
PROGRAMACION DE Pilas o Stacks y Colas
Estructuras de Datos Especificación formal de Listas.
Programación II Colas Igor Santos Grueiro.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Colas y Listas Enlazadas
Estructuras dinámicas de datos, TAD Lista, parte 2
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.
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.
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
Ordenamiento topológico
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
POR: Meza Guevara Sandra Fabiola Contreras Meléndez Damariz Figueroa Cisneros Ricardo UNIVERSIDAD TECNOLÓGICA DE DURANGO TECNOLÓGIAS DE LA INFORMACIÓN.
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
Estructura de Datos y Algoritmos
AED3: Algoritmos y Estructuras de Datos 3.  Uno de los conceptos mas utiles en computacion es la pila o stack  Es un conjunto de elementos, en la que:
Pilas y Colas Estructuras de Datos.
TDA PILA ESTRUCTURAS DE DATOS.
Árboles Binarios Estructuras de Datos.
clase 23: Stacks y Queues Problema.
Computación I Primer Semestre 2006 Capítulo IV Ciclos y Colecciones (con un sabor a algoritmos)
República Bolivariana de Venezuela. Ministerio del PP para la Defensa. Universidad Nacional Experimental de la Fuerza Armada. Cátedra: Instrucción Militar.
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.
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
Ayudantia 3: Pilas- Colas
Lic. En C.C. Ann Margareth Meza Rodríguez
Estructura de Datos..
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.
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
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.
Laboratorio de programación
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tipo.
ESTRUCTURAS LINEALES “LA PILA”
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.
PROGRAMACION DE Pilas o Stacks y Colas
Asumir riesgos ¿Por que asumir riesgos? Por: Mariana Maya L. Catalina Alvarez R.
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.
Tema – 5 Construcciones condicionales Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Tratamientos secuenciales I Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 8 Versión
Generación va, y generación viene; mas la tierra siempre permanece. Sale el sol, y se pone el sol, y se apresura a volver al lugar de donde se levanta.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada HERENCIA Tema: HERENCIA Ing. Javier Chamorro Cerón.
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: LISTAS.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Ing. Wilson Gerardo Cardoza Llontop Tutor Virtual Estructura de Datos Asignatura:
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Cómo fundar juicios Introducción Llamamos fundamento a la forma en que el pasado puede utilizarse para formular juicios que nos apoyen efectivamente en.
La operación inversa de la derivación
Pilas y Colas Fundamentos.
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
Transcripción de la presentación:

UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS Ing. Javier Chamorro Cerón

COLAS Respecto de la manipulación de sus elementos responde a la denominación FIFO: First In First Out Esto implica que el primer elemento en entrar será el primero en salir.

¿Por qué? Porque fueron pensadas para mantener y manejar elementos respetando siempre y directamente su orden de llegada. Las colas tienen un punto de inserción de elementos y otro para la extracción de los mismos, y están en extremos opuestos (cabecera–final, frente–fondo, o primero–último). Por aquí entran los elementos Por aquí salen Fondo Frente

Ejemplos de Colas Toda aquella organización donde el primero que llegue sea el primero en irse es una cola. Usamos colas diariamente. En el banco, en el cine, esperando un colectivo… ¡A la cola! ¿Esta cola es del que va a Tierra? Así es.

Propiedades de una Cola Estados –Vacía –Llena Acciones –Crear/Inicializar –Destruir/Vaciar –Agregar (Elemento) –Extraer (Elemento) –Ver (Elemento) Cabecera

A C B Cabecera (la cola vista desde adelante) Funcionamiento de una Cola A A B C A Arrancamos con la cola vacía, sin elementos. En la cabecera no vemos elemento alguno. Ya tenemos un primer elemento agregado a la cola. Podemos ver el elemento A en la cabecera (al frente). Al agregar B, éste queda detrás de A. A, el primer elemento agregado, sigue al frente; B queda oculto e inaccesible. Lo mismo pasa con C, que queda encolado detrás de B. C deberá esperar a que se desencolen A y B para llegar al frente. Al extraer el primer elemento insertado, B pasa al frente. B, ahora, queda en la cabecera, mientras C sigue oculto tras éste, e inaccesible. Podemos seguir así hasta vaciar la cola. Pero, si viniese nuevamente A y lo agregásemos a la cola, ¿en qué posición quedaría? A Quedaría al final, encolado detrás de C.

Aclaración Según la gráfica los elementos se mueven hacia el frente de la cola, en la implementación no son los elementos los que se mueven, sino las marcas de cabeza y fin, tal como se puede ver aquí. ABCA Cabeza Fin

Búsqueda de elementos Ni las Pilas ni las colas poseen facilidades que posibiliten la búsqueda de elementos contenidos en ellas, pues eso escapa a su funcionalidad: las pilas siempre devuelven el último elemento, y las colas siempre el primero. ¿Cómo generar un código C++ para encontrar algún elemento contenido en estas estructuras, siempre respetando las reglas LIFO y FIFO, según corresponda?

Inversión de elementos Dado que pilas y colas manejan sus elementos en forma completamente opuesta, al llevar los elementos de una estructura a la otra para luego volverlos a volcar en la estructura original, como resultado nos quedarán todos los elementos en posiciones inversas a las de origen. ¿Puede comprobarlo?

void Enq (string valor){ Nodo *aux; aux = new Nodo (valor, NULL); if (this->fin != NULL){ this->fin->setSig(aux); } this->fin=aux; if (this->cabeza == NULL) this->cabeza = this->fin; }

bool Deq (string &valor){ Nodo *aux; if (this->cabeza == NULL) { valor = ""; return (false); } else{ aux = this->cabeza; valor = aux->getValor(); this->cabeza = aux->getSig(); if (this->cabeza == NULL) this->fin = NULL; delete aux; return (true); } } };