SlideShare ist ein Scribd-Unternehmen logo
1 von 32
ESTRUCTURAS DE DATOS EN JAVA
COLAS
GABRIELA VERDUGO
PROGRAMACIÓN III
ING. ÁNGEL VÁZQUEZ
CONTENIDO
• Concepto de Cola
• Especificaciones del Tipo Abstracto Cola
• Colas Implementadas con arrays
• Cola con un array circular
• Cola con una Lista Enlazada
• Bicolas: Colas de doble entrada
CONCEPTO DE COLA
 Una cola es una estructura de datos que almacena elementos en una lista y
permite acceder a los datos por uno de los dos extremos de la lista.
 Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina
por el frente (parte inicial, frente) de la lista.
 Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se
almacenan.
 Una cola es una estructura de tipo Fifo. (First in First Out)
ESPECIFICACIONES DEL TIPO ABSTRACTO
COLA
A. Crear Cola : Inicia la Cola como vacía.
B. Insertar : Añade un elemento al final de la Cola.
C. Quitar : (Retira) Extrae el elemento del Frente de la Cola.
D. Cola Vacía : Comprueba si la cola no tiene elementos.
E. Cola Llena : Comprueba si la Cola esta llena de Elementos.
F. Frente : Obtiene el elemento del Frente de la Cola o el primer Elemento.
G. Tamaño de la Cola : Obtiene el número máximo de Elementos que puede tener la Cola.
EJEMPLOS DE COLAS.
NULL
Creación de la
Cola
Primer Nodo vacio o Null
AGREGAR UN ELEMENTO A LA COLA
NULL
Lista de Elementos a ser agregados
1 8 6 16
AGREGAR UN ELEMENTO A LA COLA
1
Lista de Elementos a ser agregados
8 6 16
NULL
AGREGAR UN ELEMENTO A LA COLA
1
Lista de Elementos a ser agregados
6 16
8 NULL
AGREGAR UN ELEMENTO A LA COLA
1
Lista de Elementos a ser agregados
16
8 6 NULL
AGREGAR UN ELEMENTO A LA COLA
1
Todos los elementos deseados se han insertado en la Cola
8 6 16 NULL
ELIMINAR UN ELEMENTO DE LA COLA
1
FIRST IN FIST OUT
8 6 16
COLA COMPLETA
NULL
ELIMINAR UN ELEMENTO DE LA COLA
FIRST IN FIST OUT
8 6 16
ELEMENTO ELIMINADO
NULL
COLAS IMPLEMENTADAS CON VECTORES
 Al igual que las pilas las colas se implementan usando una estructura estática
( Vectores).
 La declaración de una Cola ha de contener un array para almacenar los elementos de la
cola y dos marcadores o apuntadores para mantener las posiciones frente y fin de la
cola.
 Cuando un elemento se elimina de la cola, se hace una prueba para ver si la cola está
vacía y, si no es así, se recupera el elemento de la posición apuntada por el marcador
de cabeza, y éste se incrementa en 1.
REPRESENTACIONES DE COLAS
DECLARACIÓN DE LA CLASE COLA
 Una cola debe tratar diferentes tipos de datos: enteros, cadenas, objetos, etc
 La clase ColaLineal contiene un array (listaCola) cuyo máximo tamaño se determina por la
constante MAXTAMQ.
 En el Tipo de Dato se puede poner un tipo simple o bien un Object.
 La operación Insertar toma el elemento y lo añade al final de la Lista (Propiedad de las
Colas).
 La Operación Frente Devuelve el primer elemento de la cola sin eliminar este elemento.
 La Operación Cola Vacía comprueba si la Cola tiene elementos ya que es necesaria esta
operación antes de eliminar elementos.
DECLARACIÓN DE LA CLASE COLA
NOTA PARA RECORDAR:
 La realización de una cola con un array lineal es notablemente ineficiente, se
puede alcanzar la condición de cola llena existiendo elementos del array sin
ocupar. Se aconseja no utilizar esta implementación.
 Se alcanza la condición de cola llena ya que al realizar la operación de quitar un
elemento, avanza el frente y, por consiguiente, las posiciones anteriores quedan
desocupadas, no accesibles.
COLA CON UN ARRAY CIRCULAR
 La forma más eficiente de almacenar una cola en un array es modelarlo de tal
forma que se una el extremo final con el extremo cabeza. Tal array se denomina
array circular y permite que la totalidad de sus posiciones se utilicen para
almacenar elementos de la cola sin necesidad de desplazar elementos.
 La figura muestra un array circular de n elementos.
OPERACIONES CON ARRAYS
CIRCULARES EN COLAS
 Creación de una cola vacía, de tal forma que fin apunte a una posición
inmediatamente anterior a frente: frente = 0; fin = MAXTAMQ-1.
 Comprobar si una cola está vacía: frente == siguiente(fin)
 Comprobar si una cola está llena. Para diferenciar la condición de cola llena de
cola vacía se sacrifica una posición del array, de tal forma que la capacidad de
la cola va a ser MAXTAMQ-1. La condición de cola llena es:
frente == siguiente(siguiente(fin)).
 Poner un elemento a la cola: si la cola no está llena, avanzar fin a la siguiente
posición, fin = (fin + 1) % MAXTAMQ, y asignar el elemento.
CLASE COLA CON ARRAY CIRCULAR
 La clase declara los apuntadores frente, fin y el array listaCola[ ].
 Para obtener la siguiente posición de una dada aplicando la teoría de los restos,
se escribe el método siguiente( ).
 Ahora el tipo de los elementos es Object, de tal forma que se pueda guardar
cualquier tipo de elementos.
COLAS CON LISTAS ENLAZADAS
 Cola con una lista enlazada permite ajustarse exactamente al número de
elementos de la cola.
 Utiliza dos apuntadores (referencias) para acceder a la lista, frente y fin, que
son los extremos por donde salen y por donde se ponen, respectivamente, los
elementos de la cola.
DECLARACIÓN DE COLA Y NODO
 La representación del TAD Cola con listas maneja dos clases; la clase Nodo y la
clase, con las operaciones de las colas, ColaLista.
 Al crear un Nodo, se asigna el elemento y el enlace se pone a null. Con el
objetivo de generalizar, el elemento se declara de tipo Object.
 La clase ColaLista define las variables (atributos) de acceso: frente y fin, y las
operaciones básicas del TAD Cola.
 El constructor de ColaLista inicializa frente y fin a null, es decir, a la condición
cola vacía.
DECLARACIÓN DE COLA Y NODO
DECLARACIÓN DE COLA Y NODO
BICOLAS : COLAS DE DOBLES ENTRADA
 La estructura bicola o cola de doble entrada se puede considerar que es una
extensión del TAD Cola.
 Una bicola es un conjunto ordenado de elementos, al que se puede añadir o
quitar elementos desde cualquier extremo del mismo.
 Se puede afirmar que una bicola es una cola bidireccional .
 Los dos extremos de una bicola se pueden identificar como frente y fin (iguales
nombres que en una cola).
OPERACIONES CON BICOLAS.
 CrearBicola: Inicializa una bicola sin elementos.
 BicolaVacia: Devuelve true si la bicola no tiene elementos.
 PonerFrente: Añade un elemento por el extremo frente.
 PonerFinal: Añade un elemento por el extremo final.
 QuitarFrente: Devuelve el elemento Frente y lo retira de la bicola.
 QuitarFinal: Devuelve el elemento Final y lo retira de la bicola.
 Frente: Devuelve el elemento que se encuentra en el extremo frente.
 Final: Devuelve el elemento que se encuentra en el extremo final.
BICOLAS CON LISTAS ENLAZADAS
BICOLAS CON LISTAS ENLAZADAS
RESUMEN
 Una cola es una lista lineal en la cual los datos se insertan por un extremo( final)
que se extraen por el otro extremo (frente). Es una estructura FIFO (first-in, first-
out, primero en entrar-primero en salir).
 Las operaciones básicas que se aplican sobre colas son: crearCola, colaVacia,
colaLlena, insertar, frente, retirar.
 El TAD Cola se puede implementar con arrays y con listas enlazadas. La
implementación con un array lineal es muy ineficiente; se ha de considerar
el array como una estructura circular y aplicar la teoría de los restos para
avanzar el frente y el final de la cola.
RESUMEN
 La realización de una cola con listas enlazadas permite que el tamaño de la
estructura se ajuste al número de elementos. La cola puede crecer
indefinidamente, con el único tope de la memoria libre.
 Las bicolas son colas dobles, las operaciones básicas de insertar y retirar
elementos se pueden realizar por los dos extremos. A veces se ponen
restricciones de entrada o de salida por algún extremo. Una bicola es,
realmente, una extensión de una cola.
BIBLIOGRAFIA.
 Joyanes Aguilar L, Zahonero Martínez I. Estructura de Datos en Java: Blanca
Pecharromán.
 Sanchez Allende J, Fernandez Manjón B. (2009). Programación en Java:
Editorial Universidad Autónoma de Madrid.
 Flores Fernadez H. (2012). Programación Orientada a Objetos usando Java:
Ecoe Ediciones.

Weitere ähnliche Inhalte

Was ist angesagt?

Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansDaniel Gómez
 

Was ist angesagt? (20)

Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Listas
ListasListas
Listas
 
Lista simple
Lista simpleLista simple
Lista simple
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
COLAS
COLASCOLAS
COLAS
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
Estructuras no-lineales
Estructuras no-linealesEstructuras no-lineales
Estructuras no-lineales
 

Andere mochten auch

Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosAngel Vázquez Patiño
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasAngel Vázquez Patiño
 
Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenAngel Vázquez Patiño
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaAngel Vázquez Patiño
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaAngel Vázquez Patiño
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalAngel Vázquez Patiño
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallAngel Vázquez Patiño
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...Angel Vázquez Patiño
 
Arboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaArboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaLupitaOMG Garmendia
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresAngel Vázquez Patiño
 

Andere mochten auch (18)

Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Programación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadasProgramación 3: mapas y diccionarios, colecciones parametrizadas
Programación 3: mapas y diccionarios, colecciones parametrizadas
 
Programación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origenProgramación 3: caminos más cortos con un solo origen
Programación 3: caminos más cortos con un solo origen
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en JavaProgramación 3: Vector, stack, enumearator, iterator, listiterator en Java
Programación 3: Vector, stack, enumearator, iterator, listiterator en Java
 
Programación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en javaProgramación 3: listas y conjuntos en java
Programación 3: listas y conjuntos en java
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo WarshallProgramación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
Programación 3: Ordenación topológica, matriz de caminos y algoritmo Warshall
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...Primera aproximación al descubrimiento causal para variables climáticas en el...
Primera aproximación al descubrimiento causal para variables climáticas en el...
 
Arboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaArboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en Java
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectores
 

Ähnlich wie Programación 3: colas

Ähnlich wie Programación 3: colas (20)

Colas
ColasColas
Colas
 
Colas
ColasColas
Colas
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
1.5.2 Tipos de Colas.pptx
1.5.2 Tipos de Colas.pptx1.5.2 Tipos de Colas.pptx
1.5.2 Tipos de Colas.pptx
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
152330
152330152330
152330
 
Saiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosaSaiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosa
 
Colas, filas
Colas, filasColas, filas
Colas, filas
 
Datos
DatosDatos
Datos
 
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)Estructura de datos - Unidad 3 Estructuras Lineales (POO)
Estructura de datos - Unidad 3 Estructuras Lineales (POO)
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
colas.pptx
colas.pptxcolas.pptx
colas.pptx
 
Dionely torres 11 1150
Dionely torres 11 1150Dionely torres 11 1150
Dionely torres 11 1150
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 

Mehr von Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 

Mehr von Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 

Kürzlich hochgeladen

Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosisauVillalva
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEduardoBriones22
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptReYMaStERHD
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOwillanpedrazaperez
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdfDavidTicona31
 

Kürzlich hochgeladen (20)

Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 

Programación 3: colas

  • 1. ESTRUCTURAS DE DATOS EN JAVA COLAS GABRIELA VERDUGO PROGRAMACIÓN III ING. ÁNGEL VÁZQUEZ
  • 2. CONTENIDO • Concepto de Cola • Especificaciones del Tipo Abstracto Cola • Colas Implementadas con arrays • Cola con un array circular • Cola con una Lista Enlazada • Bicolas: Colas de doble entrada
  • 3. CONCEPTO DE COLA  Una cola es una estructura de datos que almacena elementos en una lista y permite acceder a los datos por uno de los dos extremos de la lista.  Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina por el frente (parte inicial, frente) de la lista.  Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan.  Una cola es una estructura de tipo Fifo. (First in First Out)
  • 4. ESPECIFICACIONES DEL TIPO ABSTRACTO COLA A. Crear Cola : Inicia la Cola como vacía. B. Insertar : Añade un elemento al final de la Cola. C. Quitar : (Retira) Extrae el elemento del Frente de la Cola. D. Cola Vacía : Comprueba si la cola no tiene elementos. E. Cola Llena : Comprueba si la Cola esta llena de Elementos. F. Frente : Obtiene el elemento del Frente de la Cola o el primer Elemento. G. Tamaño de la Cola : Obtiene el número máximo de Elementos que puede tener la Cola.
  • 5. EJEMPLOS DE COLAS. NULL Creación de la Cola Primer Nodo vacio o Null
  • 6. AGREGAR UN ELEMENTO A LA COLA NULL Lista de Elementos a ser agregados 1 8 6 16
  • 7. AGREGAR UN ELEMENTO A LA COLA 1 Lista de Elementos a ser agregados 8 6 16 NULL
  • 8. AGREGAR UN ELEMENTO A LA COLA 1 Lista de Elementos a ser agregados 6 16 8 NULL
  • 9. AGREGAR UN ELEMENTO A LA COLA 1 Lista de Elementos a ser agregados 16 8 6 NULL
  • 10. AGREGAR UN ELEMENTO A LA COLA 1 Todos los elementos deseados se han insertado en la Cola 8 6 16 NULL
  • 11. ELIMINAR UN ELEMENTO DE LA COLA 1 FIRST IN FIST OUT 8 6 16 COLA COMPLETA NULL
  • 12. ELIMINAR UN ELEMENTO DE LA COLA FIRST IN FIST OUT 8 6 16 ELEMENTO ELIMINADO NULL
  • 13. COLAS IMPLEMENTADAS CON VECTORES  Al igual que las pilas las colas se implementan usando una estructura estática ( Vectores).  La declaración de una Cola ha de contener un array para almacenar los elementos de la cola y dos marcadores o apuntadores para mantener las posiciones frente y fin de la cola.  Cuando un elemento se elimina de la cola, se hace una prueba para ver si la cola está vacía y, si no es así, se recupera el elemento de la posición apuntada por el marcador de cabeza, y éste se incrementa en 1.
  • 15. DECLARACIÓN DE LA CLASE COLA  Una cola debe tratar diferentes tipos de datos: enteros, cadenas, objetos, etc  La clase ColaLineal contiene un array (listaCola) cuyo máximo tamaño se determina por la constante MAXTAMQ.  En el Tipo de Dato se puede poner un tipo simple o bien un Object.  La operación Insertar toma el elemento y lo añade al final de la Lista (Propiedad de las Colas).  La Operación Frente Devuelve el primer elemento de la cola sin eliminar este elemento.  La Operación Cola Vacía comprueba si la Cola tiene elementos ya que es necesaria esta operación antes de eliminar elementos.
  • 16. DECLARACIÓN DE LA CLASE COLA
  • 17. NOTA PARA RECORDAR:  La realización de una cola con un array lineal es notablemente ineficiente, se puede alcanzar la condición de cola llena existiendo elementos del array sin ocupar. Se aconseja no utilizar esta implementación.  Se alcanza la condición de cola llena ya que al realizar la operación de quitar un elemento, avanza el frente y, por consiguiente, las posiciones anteriores quedan desocupadas, no accesibles.
  • 18. COLA CON UN ARRAY CIRCULAR  La forma más eficiente de almacenar una cola en un array es modelarlo de tal forma que se una el extremo final con el extremo cabeza. Tal array se denomina array circular y permite que la totalidad de sus posiciones se utilicen para almacenar elementos de la cola sin necesidad de desplazar elementos.  La figura muestra un array circular de n elementos.
  • 19. OPERACIONES CON ARRAYS CIRCULARES EN COLAS  Creación de una cola vacía, de tal forma que fin apunte a una posición inmediatamente anterior a frente: frente = 0; fin = MAXTAMQ-1.  Comprobar si una cola está vacía: frente == siguiente(fin)  Comprobar si una cola está llena. Para diferenciar la condición de cola llena de cola vacía se sacrifica una posición del array, de tal forma que la capacidad de la cola va a ser MAXTAMQ-1. La condición de cola llena es: frente == siguiente(siguiente(fin)).  Poner un elemento a la cola: si la cola no está llena, avanzar fin a la siguiente posición, fin = (fin + 1) % MAXTAMQ, y asignar el elemento.
  • 20. CLASE COLA CON ARRAY CIRCULAR  La clase declara los apuntadores frente, fin y el array listaCola[ ].  Para obtener la siguiente posición de una dada aplicando la teoría de los restos, se escribe el método siguiente( ).  Ahora el tipo de los elementos es Object, de tal forma que se pueda guardar cualquier tipo de elementos.
  • 21.
  • 22. COLAS CON LISTAS ENLAZADAS  Cola con una lista enlazada permite ajustarse exactamente al número de elementos de la cola.  Utiliza dos apuntadores (referencias) para acceder a la lista, frente y fin, que son los extremos por donde salen y por donde se ponen, respectivamente, los elementos de la cola.
  • 23. DECLARACIÓN DE COLA Y NODO  La representación del TAD Cola con listas maneja dos clases; la clase Nodo y la clase, con las operaciones de las colas, ColaLista.  Al crear un Nodo, se asigna el elemento y el enlace se pone a null. Con el objetivo de generalizar, el elemento se declara de tipo Object.  La clase ColaLista define las variables (atributos) de acceso: frente y fin, y las operaciones básicas del TAD Cola.  El constructor de ColaLista inicializa frente y fin a null, es decir, a la condición cola vacía.
  • 26. BICOLAS : COLAS DE DOBLES ENTRADA  La estructura bicola o cola de doble entrada se puede considerar que es una extensión del TAD Cola.  Una bicola es un conjunto ordenado de elementos, al que se puede añadir o quitar elementos desde cualquier extremo del mismo.  Se puede afirmar que una bicola es una cola bidireccional .  Los dos extremos de una bicola se pueden identificar como frente y fin (iguales nombres que en una cola).
  • 27. OPERACIONES CON BICOLAS.  CrearBicola: Inicializa una bicola sin elementos.  BicolaVacia: Devuelve true si la bicola no tiene elementos.  PonerFrente: Añade un elemento por el extremo frente.  PonerFinal: Añade un elemento por el extremo final.  QuitarFrente: Devuelve el elemento Frente y lo retira de la bicola.  QuitarFinal: Devuelve el elemento Final y lo retira de la bicola.  Frente: Devuelve el elemento que se encuentra en el extremo frente.  Final: Devuelve el elemento que se encuentra en el extremo final.
  • 28. BICOLAS CON LISTAS ENLAZADAS
  • 29. BICOLAS CON LISTAS ENLAZADAS
  • 30. RESUMEN  Una cola es una lista lineal en la cual los datos se insertan por un extremo( final) que se extraen por el otro extremo (frente). Es una estructura FIFO (first-in, first- out, primero en entrar-primero en salir).  Las operaciones básicas que se aplican sobre colas son: crearCola, colaVacia, colaLlena, insertar, frente, retirar.  El TAD Cola se puede implementar con arrays y con listas enlazadas. La implementación con un array lineal es muy ineficiente; se ha de considerar el array como una estructura circular y aplicar la teoría de los restos para avanzar el frente y el final de la cola.
  • 31. RESUMEN  La realización de una cola con listas enlazadas permite que el tamaño de la estructura se ajuste al número de elementos. La cola puede crecer indefinidamente, con el único tope de la memoria libre.  Las bicolas son colas dobles, las operaciones básicas de insertar y retirar elementos se pueden realizar por los dos extremos. A veces se ponen restricciones de entrada o de salida por algún extremo. Una bicola es, realmente, una extensión de una cola.
  • 32. BIBLIOGRAFIA.  Joyanes Aguilar L, Zahonero Martínez I. Estructura de Datos en Java: Blanca Pecharromán.  Sanchez Allende J, Fernandez Manjón B. (2009). Programación en Java: Editorial Universidad Autónoma de Madrid.  Flores Fernadez H. (2012). Programación Orientada a Objetos usando Java: Ecoe Ediciones.