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

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 

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