SlideShare una empresa de Scribd logo
1 de 19
ESTRUCTURAS DE ALMACENAMIENTO Ciclo de Grado Superior D.A.W.
Introducción Arrays en Java Operaciones con arrays Operaciones con pilas Operaciones con colas Listas Collection Estructuras de almacenamiento
Necesidad de las estructuras de datos Los algoritmos requieren una representación apropiada de los datos para lograr ser eficientes. Esta representación junto con las operaciones permitidas se llama estructura de datos. 1. INTRODUCCIÓN
Matrices, pilas y colas Matriz (array), estructura de datos que consta de un número fijo de elementos del mismo tipo. Vectores, matrices unidimensionales. Pila, LIFO (Last In Fisrt Out) estructura de datos en la cual el acceso está limitado al elemento más recientemente insertado. Cola, FIFO (First In First Out) permiteacceder al elemento más antiguo. 1. INTRODUCCIÓN
Arrays en java Se definen y utilizan con el operador de indexación  corchetes [ ] Es un objeto más,  su identificador es una referencia. Arrays dinámicos, cuando llamamos al constructor decidimos el tamaño. length, miembro intrínseco, sólo se puede consultar, indica cuántos elementos hay en el array.  Siempre se controlan los rangos 2. ARRAYS EN JAVA
Arrays multidimensionales en java Declaración: int [][] Construcción: int [][] matriz= new int [3][4]; Acceso: matriz[2][0] Devolver un array: String[][] conjuntoCadenas() 2. ARRAYS EN JAVA
Operaciones con arrays java.util.Arrays, clase que implementa un conjunto de métodos estáticos que permiten realizar operaciones con arrays: equals(), compara la igualdad de dos arrays. fill(), rellena un array con un valor. sort(), ordena un array. binarySearch(), busca un dato en un array ordenado. asList(), convierte el array en un contenedor tipo lista de Java. System.arraycopy(), copia datos de un array en otro, realiza copia superficial. 3. OPERACIONES CON ARRAYS
Diseño de la ordenación de arrays Problema de escribir código de ordenación genérico: debemos llevar a cabo comparaciones basadas en el tipo del objeto. Podemos escribir código de ordenación para cada tipo  no se puede reutilizar. Algoritmo de ordenación coches: 		[…] if (coche1.cilindrada() > coche2.cilindrada()) 		[…] Algoritmo de ordenación aviones: 	[…] if (avion1.verPasajeros() > avion2.verPasajeros()) 	[…] 3. OPERACIONES CON ARRAYS
Diseño de la ordenación de arrays Podemos “separar los elementos que cambian de los que permanecen igual”, el algoritmo general de ordenación permanece igual, lo que cambia es la forma de comparar los objetos. La parte del código que varía la encapsulamos en la propia clase. Algoritmo de ordenación genérico: […] if (Comparable1.comparar(Comparable2)>0) […] 3. OPERACIONES CON ARRAYS
Comparación para la ordenación Primera forma de proporcionar esto: La clase a ordenar debe implementar la interfaz java.lang.Comparable. Interfaz con un único método compareTo() Segunda forma: Si tenemos que ordenar una clase que no implementa comparable o no debemos emplear este tipo de comparación. Crear una clase separada que implementa la interfaz Comparator. Se debe implementar el método compare() 3. OPERACIONES CON ARRAYS
Operaciones con pilas voidpush(Object x) Inserta un nuevo elemento en la pila, si no está llena Object pop() Devuelve y borra el elemento más recientemente insertado. Object top() Devuelve el elemento más recientemente insertado. booleanestaVacia() Comprueba si la pila está vacía. void vaciar() Vacía la pila. 4. OPERACIONES CON PILAS
Operaciones con colas void insertar(Object x) Inserta un nuevo elemento en la cola. Object extraer() Devuelve y borra el elemento más antiguo de la cola. ObjectverPrimero() Devuelve el elemento más antiguo de la cola. booleanestaVacia() Comprueba si la cola está vacía. void vaciar() Vacía la cola. 5. OPERACIONES CON COLAS
Cola de prioridad (I) Estructura de datos que permite guardar elementos ordenador de menor a mayor. Acceder rápidamente al elemento menor de una colección y poder extraerlo. ¿Por qué no utilizar un árbol binario de búsqueda? Árboles binarios innecesariamente potentes. Rendimiento pobre en el caso peor. Requieren almacenar dos referencias en cada nodo. 5. OPERACIONES CON COLAS
Cola de prioridad (II) void insertar(Comparable x) Inserta un nuevo elemento en la cola. Comparable extraer() Devuelve y borra el elemento menor de la cola. Comparable buscarMin() Devuelve el elemento menor de la cola. booleanestaLlena() Comprueba si la cola está llena. booleanestaVacia() Comprueba si la cola está vacía. void vaciar() Vacía la cola. 5. OPERACIONES CON COLAS
Listas Lista, es una colección de elementos de información dispuestos en un cierto orden. El número de elementos no suele estar fijado, ni suele estar limitado por anticipado. Lista enlazada, los elementos se almacenan de forma no contigua, en vez de un vector de posiciones consecutivas. 6. LISTAS
Soporte de java para listas En Java se puede trabajar con el concepto colección (Collection): grupo de elementos individuales, a los que se puede aplicar alguna regla. Una lista (List) es un tipo de colección que contiene elementos en una secuencia concreta. Java incluye dos clases que implementan el interfaz List: ArrayList y LinkedList. 6. LISTAS
Operaciones de Collection System.out.println(), visualizar colección. add(), añadir un elemento. contains(), comprueba si existe un elemento. isEmpty(), comprueba si está vacío. iterator(), devuelve un iterador. size(), devuelve el número de elementos del contenedor. remove(), elimina un elemento del  ontenedor. Clase auxiliar que permite realizar más operaciones: java.util.Collections. 7. COLLECTION
Recorrido de una colección utilizando un iterador importjava.util.*; publicclassPruebaIteradorLista { public static void main(String[] args) { List l= new ArrayList(); l.add(new Integer(8)); l.add(new Integer(3)); … l.add(new Integer(1)); Integerent= null; Iterator i= l.iterator(); while (i.hasNext()) { ent= (Integer)i.next(); System.out.println(ent); } } } 7. COLLECTION
Resumen

Más contenido relacionado

La actualidad más candente

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
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en javaMaîck Ddz
 
Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.christgch
 
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
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc X
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasIARINAIA
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3yeimirbeth
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colasBlackzerox
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractoserwin_alexander
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gioRobert Wolf
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 

La actualidad más candente (20)

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
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Programación 3: colecciones Java
Programación 3: colecciones JavaProgramación 3: colecciones Java
Programación 3: colecciones Java
 
Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.
 
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
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 colecciones
 
Tema6
Tema6Tema6
Tema6
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colas
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Arrays
ArraysArrays
Arrays
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
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
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colas
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gio
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 

Similar a DAW - Estructuras de almacenamiento

Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gioRobert Wolf
 
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptAlgoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptDaveRodriguez22
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylistjlmanmons
 
Angela y vicky I-B
Angela y vicky I-BAngela y vicky I-B
Angela y vicky I-BvictoriaRJ
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)Fuerza Auriazul
 
Vectores, array y sus métodos
Vectores, array y sus métodosVectores, array y sus métodos
Vectores, array y sus métodosOrlando Verdugo
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnaskety24
 
Vectores - Informática
Vectores - InformáticaVectores - Informática
Vectores - Informáticacompumet sac
 
[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracionEudris Cabrera
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje JavaNetwork Sens
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 

Similar a DAW - Estructuras de almacenamiento (20)

Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Tema3
Tema3Tema3
Tema3
 
Tema 6 colecciones por gio
Tema 6   colecciones por gioTema 6   colecciones por gio
Tema 6 colecciones por gio
 
Programacion
ProgramacionProgramacion
Programacion
 
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptAlgoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).ppt
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
 
ARREGLOS
ARREGLOSARREGLOS
ARREGLOS
 
Angela y vicky I-B
Angela y vicky I-BAngela y vicky I-B
Angela y vicky I-B
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Vectores, array y sus métodos
Vectores, array y sus métodosVectores, array y sus métodos
Vectores, array y sus métodos
 
Tutorial - Ordenar listas Java
Tutorial   - Ordenar listas JavaTutorial   - Ordenar listas Java
Tutorial - Ordenar listas Java
 
concepto de estructuras de datos
concepto de estructuras de datosconcepto de estructuras de datos
concepto de estructuras de datos
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Vectores - Informática
Vectores - InformáticaVectores - Informática
Vectores - Informática
 
[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 
Arreglos
ArreglosArreglos
Arreglos
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Biblioteca
BibliotecaBiblioteca
Biblioteca
 

Más de vay82

DAW - Desarrollo de clases
DAW - Desarrollo de clasesDAW - Desarrollo de clases
DAW - Desarrollo de clasesvay82
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de controlvay82
 
Los Blogs y su papel en la educación
Los Blogs y su papel en la educaciónLos Blogs y su papel en la educación
Los Blogs y su papel en la educaciónvay82
 
Los Blogs y su papel en la educación
Los Blogs y su papel en la educaciónLos Blogs y su papel en la educación
Los Blogs y su papel en la educaciónvay82
 
Historia informatica
Historia informaticaHistoria informatica
Historia informaticavay82
 
Contenidos disciplinares - Módulo Aplicaciones Web
Contenidos disciplinares - Módulo Aplicaciones WebContenidos disciplinares - Módulo Aplicaciones Web
Contenidos disciplinares - Módulo Aplicaciones Webvay82
 

Más de vay82 (6)

DAW - Desarrollo de clases
DAW - Desarrollo de clasesDAW - Desarrollo de clases
DAW - Desarrollo de clases
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de control
 
Los Blogs y su papel en la educación
Los Blogs y su papel en la educaciónLos Blogs y su papel en la educación
Los Blogs y su papel en la educación
 
Los Blogs y su papel en la educación
Los Blogs y su papel en la educaciónLos Blogs y su papel en la educación
Los Blogs y su papel en la educación
 
Historia informatica
Historia informaticaHistoria informatica
Historia informatica
 
Contenidos disciplinares - Módulo Aplicaciones Web
Contenidos disciplinares - Módulo Aplicaciones WebContenidos disciplinares - Módulo Aplicaciones Web
Contenidos disciplinares - Módulo Aplicaciones Web
 

Último

Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 

Último (20)

Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 

DAW - Estructuras de almacenamiento

  • 1. ESTRUCTURAS DE ALMACENAMIENTO Ciclo de Grado Superior D.A.W.
  • 2. Introducción Arrays en Java Operaciones con arrays Operaciones con pilas Operaciones con colas Listas Collection Estructuras de almacenamiento
  • 3. Necesidad de las estructuras de datos Los algoritmos requieren una representación apropiada de los datos para lograr ser eficientes. Esta representación junto con las operaciones permitidas se llama estructura de datos. 1. INTRODUCCIÓN
  • 4. Matrices, pilas y colas Matriz (array), estructura de datos que consta de un número fijo de elementos del mismo tipo. Vectores, matrices unidimensionales. Pila, LIFO (Last In Fisrt Out) estructura de datos en la cual el acceso está limitado al elemento más recientemente insertado. Cola, FIFO (First In First Out) permiteacceder al elemento más antiguo. 1. INTRODUCCIÓN
  • 5. Arrays en java Se definen y utilizan con el operador de indexación corchetes [ ] Es un objeto más, su identificador es una referencia. Arrays dinámicos, cuando llamamos al constructor decidimos el tamaño. length, miembro intrínseco, sólo se puede consultar, indica cuántos elementos hay en el array. Siempre se controlan los rangos 2. ARRAYS EN JAVA
  • 6. Arrays multidimensionales en java Declaración: int [][] Construcción: int [][] matriz= new int [3][4]; Acceso: matriz[2][0] Devolver un array: String[][] conjuntoCadenas() 2. ARRAYS EN JAVA
  • 7. Operaciones con arrays java.util.Arrays, clase que implementa un conjunto de métodos estáticos que permiten realizar operaciones con arrays: equals(), compara la igualdad de dos arrays. fill(), rellena un array con un valor. sort(), ordena un array. binarySearch(), busca un dato en un array ordenado. asList(), convierte el array en un contenedor tipo lista de Java. System.arraycopy(), copia datos de un array en otro, realiza copia superficial. 3. OPERACIONES CON ARRAYS
  • 8. Diseño de la ordenación de arrays Problema de escribir código de ordenación genérico: debemos llevar a cabo comparaciones basadas en el tipo del objeto. Podemos escribir código de ordenación para cada tipo no se puede reutilizar. Algoritmo de ordenación coches: […] if (coche1.cilindrada() > coche2.cilindrada()) […] Algoritmo de ordenación aviones: […] if (avion1.verPasajeros() > avion2.verPasajeros()) […] 3. OPERACIONES CON ARRAYS
  • 9. Diseño de la ordenación de arrays Podemos “separar los elementos que cambian de los que permanecen igual”, el algoritmo general de ordenación permanece igual, lo que cambia es la forma de comparar los objetos. La parte del código que varía la encapsulamos en la propia clase. Algoritmo de ordenación genérico: […] if (Comparable1.comparar(Comparable2)>0) […] 3. OPERACIONES CON ARRAYS
  • 10. Comparación para la ordenación Primera forma de proporcionar esto: La clase a ordenar debe implementar la interfaz java.lang.Comparable. Interfaz con un único método compareTo() Segunda forma: Si tenemos que ordenar una clase que no implementa comparable o no debemos emplear este tipo de comparación. Crear una clase separada que implementa la interfaz Comparator. Se debe implementar el método compare() 3. OPERACIONES CON ARRAYS
  • 11. Operaciones con pilas voidpush(Object x) Inserta un nuevo elemento en la pila, si no está llena Object pop() Devuelve y borra el elemento más recientemente insertado. Object top() Devuelve el elemento más recientemente insertado. booleanestaVacia() Comprueba si la pila está vacía. void vaciar() Vacía la pila. 4. OPERACIONES CON PILAS
  • 12. Operaciones con colas void insertar(Object x) Inserta un nuevo elemento en la cola. Object extraer() Devuelve y borra el elemento más antiguo de la cola. ObjectverPrimero() Devuelve el elemento más antiguo de la cola. booleanestaVacia() Comprueba si la cola está vacía. void vaciar() Vacía la cola. 5. OPERACIONES CON COLAS
  • 13. Cola de prioridad (I) Estructura de datos que permite guardar elementos ordenador de menor a mayor. Acceder rápidamente al elemento menor de una colección y poder extraerlo. ¿Por qué no utilizar un árbol binario de búsqueda? Árboles binarios innecesariamente potentes. Rendimiento pobre en el caso peor. Requieren almacenar dos referencias en cada nodo. 5. OPERACIONES CON COLAS
  • 14. Cola de prioridad (II) void insertar(Comparable x) Inserta un nuevo elemento en la cola. Comparable extraer() Devuelve y borra el elemento menor de la cola. Comparable buscarMin() Devuelve el elemento menor de la cola. booleanestaLlena() Comprueba si la cola está llena. booleanestaVacia() Comprueba si la cola está vacía. void vaciar() Vacía la cola. 5. OPERACIONES CON COLAS
  • 15. Listas Lista, es una colección de elementos de información dispuestos en un cierto orden. El número de elementos no suele estar fijado, ni suele estar limitado por anticipado. Lista enlazada, los elementos se almacenan de forma no contigua, en vez de un vector de posiciones consecutivas. 6. LISTAS
  • 16. Soporte de java para listas En Java se puede trabajar con el concepto colección (Collection): grupo de elementos individuales, a los que se puede aplicar alguna regla. Una lista (List) es un tipo de colección que contiene elementos en una secuencia concreta. Java incluye dos clases que implementan el interfaz List: ArrayList y LinkedList. 6. LISTAS
  • 17. Operaciones de Collection System.out.println(), visualizar colección. add(), añadir un elemento. contains(), comprueba si existe un elemento. isEmpty(), comprueba si está vacío. iterator(), devuelve un iterador. size(), devuelve el número de elementos del contenedor. remove(), elimina un elemento del ontenedor. Clase auxiliar que permite realizar más operaciones: java.util.Collections. 7. COLLECTION
  • 18. Recorrido de una colección utilizando un iterador importjava.util.*; publicclassPruebaIteradorLista { public static void main(String[] args) { List l= new ArrayList(); l.add(new Integer(8)); l.add(new Integer(3)); … l.add(new Integer(1)); Integerent= null; Iterator i= l.iterator(); while (i.hasNext()) { ent= (Integer)i.next(); System.out.println(ent); } } } 7. COLLECTION