SlideShare una empresa de Scribd logo
1 de 26
Estructuras de Datos y
Algoritmos
M.Sc. Franco Guamán Bastidas
Universidad Técnica Particular de Loja
Departamento de Ciencias de la Computación y Electrónica
Sección Departamental de Inteligencia Artificial
ARREGLOS
Contenidos
 Arreglos
 Definición
 Recorrido de arreglos
 Ejercicios
 Trabajando con arreglos
Estructuras de Datos y Algoritmos - Franco Guamán 2
Arreglos
 Definición: Colección finita, homogénea y ordenada de
elementos.
Finita: porque todo arreglo tiene un límite.
Homogénea: porque todos los elementos son del mismo tipo.
Ordenada: porque se puede determinar cuál es el enésimo
elemento.
 Es una estructura de datos que puede almacenar N
elementos de un mismo tipo de datos.
 Normalmente el arreglo se utiliza para almacenar tipos de
datos tales como: char, int o float
Estructuras de Datos y Algoritmos - Franco Guamán 3
Arreglos
 Un arreglo tiene dos partes: Componentes e índices
Componentes: Hacen referencia a los elementos que forman
el arreglo.
Índices: Permiten referirse a los componentes del arreglo en
forma individual.
Representación gráfica de un arreglo
Estructuras de Datos y Algoritmos - Franco Guamán 4
8 10 39 29 31 25 32 40 22 38
0 1 2 3 4 5 6 7 8 9
índices
component
es
Ejemplos
 Si tuviéramos un arreglo de caracteres con el texto
“ESTRUCTURA” ¿cuál sería el índice de la primera letra “T”?.
 Un curso de Computación tiene 40 alumnos matriculados, si Usted.
tuviese que diseñar un arreglo para registrar las notas de los
alumnos responda lo siguiente:
1. ¿De qué tipo de dato lo definiría?
2. ¿Qué tamaño tendría el arreglo?
3. ¿Cuál es el índice inferior del arreglo?
4. ¿Cuál es el índice superior del arreglo?
Estructuras de Datos y Algoritmos - Franco Guamán 5
Trabajando con arreglos
Existen algunas operaciones que se pueden desarrollar con los
arreglos, entre las principales tenemos:
 Inicialización
 Ingresar
 Eliminar
 Insertar
 Modificar
 Presentar
 Ordenar
 Buscar
 Otras…
Estructuras de Datos y Algoritmos - Franco Guamán 6
Trabajando con arreglos
Inicializar un Arreglo
Existen varias maneras de inicializar un arreglo, una manera
muy sencilla es inicializar en la declaración de variables.
A continuación podemos observar tres formas diferentes de
inicializar un arreglo en Java.
Estructuras de Datos y Algoritmos - Franco Guamán 7
Trabajando con arreglos
Inicializar un Arreglo
Primero se declara el arreglo.
Estructuras de Datos y Algoritmos - Franco Guamán 8
Tipo
int[] myArray = new
int[10];
nombreArray
Numero de
elementos
Trabajando con arreglos
Ingresar datos en un Arreglo
Podemos utilizar la estructura de control for para ingresar los
elementos del arreglo, como se ve en el siguiente método.
Estructuras de Datos y Algoritmos - Franco Guamán 9
Trabajando con arreglos
EL Acceso a los elementos de un Arreglo se lo realiza por medio de
un subíndice, por ejemplo si se quisiera acceder al primer elemento del
siguiente arreglo,
tendré que hacérselo de la siguiente manera:
En la variable nro se almacenara el valor de 8, para acceder al
segundo valor:
Se almacenará el valor de 10, y así sucesivamente con los demás
elementos.
Estructuras de Datos y Algoritmos - Franco Guamán 10
8 10 39 29 31 25 32 40 22 38
0 1 2 3 4 5 6 7 8 9
myArray2
nro = myArray2[0];
nro = myArray2[1];
Trabajando con arreglos
Presentar elementos de un Arreglo
La presentación de elementos también se la realiza por medio
de sus subíndices, para ello también podemos valernos de la
sentencia for, como se muestra en el siguiente método.
Estructuras de Datos y Algoritmos - Franco Guamán 11
Trabajando con arreglos
Búsqueda secuencial
• No es necesario que el arreglo esté ordenado.
• Compara el elemento buscado con cada uno de los
elementos, hasta encontrarlo o llegar al fin del mismo.
Estructuras de Datos y Algoritmos - Franco Guamán 12
4 8 3 14 5 7
a[0] a[1] a[5]
Clave = 6
Valor devuelto, -1
Valor buscado
4 8 3 14 5 7
a[0] a[1] a[5]
Clave = 5
Valor devuelto, índice 4
Valor buscado
Trabajando con arreglos
Búsqueda secuencial
• En este caso, el método nos regresa el índice del elemento
encontrado, o el valor -1 si no existe.
Estructuras de Datos y Algoritmos - Franco Guamán 13
Trabajando con arreglos
Eliminar elementos de un Arreglo
• Implica la búsqueda del elemento en el arreglo, determinar su
existencia y realizar su eliminación lógica.
• Recorrer los elementos de su derecha una casilla hacia la izquierda
y reducir en una unidad el número de elementos existentes en el
arreglo.
Estructuras de Datos y Algoritmos - Franco Guamán 14
Trabajando con arreglos
Eliminar elementos de un Arreglo
• En este ejemplo utilizamos la variable n para saber el número de
elementos existentes en el arreglo.
• El recorrido de elementos hacia la izquierda sería:
Estructuras de Datos y Algoritmos - Franco Guamán 15
Diseñe el método necesario para realizar el desplazamiento de los
elementos una posición a la izquierda.
8 10 39 29 31 25 32 40 22
0 1 2 3 4 5 6 7 8 9
8 10 39 29 25 32 40 22 22
0 1 2 3 4 5 6 7 8 9
n=9
n=8
Trabajando con arreglos
Insertar elementos en un Arreglo
Consiste en agregar nuevos elementos a un arreglo existente en
el caso de que cuente con espacios disponibles, entre los
principales casos tenemos:
• Insertar al inicio del arreglo.
• Insertar en el primer espacio vació del arreglo.
• Insertar cuidando que no se repitan los elementos.
• Insertar en una posición previamente determinada.
• En caso de que el arreglo este ordenado, insertar en el lugar que le
corresponde.
Cada uno de los casos antes mencionados tendrá una manera
diferente de ser tratado.
Estructuras de Datos y Algoritmos - Franco Guamán 16
Trabajando con arreglos
Insertar elementos en un Arreglo
En el caso, inserción de un elemento nuevo en un arreglo
desordenado, sin importar si se repite, se implementaría como lo
podemos observar en el siguiente método.
Estructuras de Datos y Algoritmos - Franco Guamán 17
Trabajando con arreglos
Insertar elementos en un Arreglo
Si deseamos en cambio, controlar que no se repitan los
elementos, podríamos utilizar el método de búsqueda
previamente estudiado, así:
Estructuras de Datos y Algoritmos - Franco Guamán 18
Realice los métodos necesario para los demás casos de inserción.
Trabajando con arreglos
Ordenar un Arreglo
Existen algunos algoritmos que difieren tanto en su complejidad
como en rendimiento, estos algoritmos pueden ser clasificados
de la siguiente manera:
 Métodos Iterativos. Entre los principales tenemos:
Burbuja, Inserción, Selección y Shellsort
 Métodos Recursivos. Los principales son:
MergeSort y QuickSort
Estructuras de Datos y Algoritmos - Franco Guamán 19
Revise el archivo “REA_Algoritmos de Ordenamiento.pdf” que podrá
descargarlo desde el Entorno Virtual de Aprendizaje.
Trabajando con arreglos
Ordenar un Arreglo
Método burbuja:
Estructuras de Datos y Algoritmos - Franco Guamán 20
Trabajando con arreglos
Ordenar un
Arreglo
Método
QuickSort:
Estructuras de Datos y Algoritmos - Franco Guamán 21
Trabajando con arreglos
Búsqueda Binaria
• Necesariamente el arreglo debe estar ordenado.
• El algoritmo realiza comparaciones para determinar si el valor
buscado está ubicado en el punto medio del arreglo o estaría
en su mitad superior o inferior.
• De no encontrarse en el primer paso y una vez determinada
su posible ubicación, se subdivide el arreglo, y así
sucesivamente hasta encontrar el valor o determinar su
inexistencia.
• Al igual que en el caso de la búsqueda secuencial, este
algoritmo devolverá la posición del elemento buscado, o un
valor de -1 en el caso de que tal elemento no se encuentre en
el arreglo.
Estructuras de Datos y Algoritmos - Franco Guamán 22
Trabajando con arreglos
Búsqueda Binaria
Estructuras de Datos y Algoritmos - Franco Guamán 23
Índices de la lista son bajo = 0 y alto = n-1
13 44 75 100 120 275 325 510
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]
Clave = 225
Calcular el índice del punto central del arreglo
central = (bajo + alto) / 2 central = (0 + 7) / 2 = 3
n = 8
Comparar el valor de este elemento central con la clave
bajo central alto
Clave encontrada
clave
bajo central alto
Búsqueda lista inferior
clave
bajo central alto
Búsqueda lista superior
clave
Valor buscado
clave=central clave<central clave>central
Trabajando con arreglos
Búsqueda Binaria
Estructuras de Datos y Algoritmos - Franco Guamán 24
Trabajando con arreglos
Comparación entre Búsquedas Secuencial y Binaria
Estructuras de Datos y Algoritmos - Franco Guamán 25
Estructuras de Datos y Algoritmos - Franco Guamán 26
Preguntas

Más contenido relacionado

La actualidad más candente

Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por InsercionMateo Falcon
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaavicomanuel
 
Búsqueda binaria iterativa
Búsqueda binaria iterativaBúsqueda binaria iterativa
Búsqueda binaria iterativaOmar Daza
 
Manual de uso de la función BUSCARH
Manual de uso de la función BUSCARHManual de uso de la función BUSCARH
Manual de uso de la función BUSCARHAlejandra Ayala
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedaGonzalo Retamal
 
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)José Antonio Sandoval Acosta
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuencialesLuis Igoodbad
 
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
 

La actualidad más candente (20)

Mètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsquedaMètodos de Ordenaciòn y bùsqueda
Mètodos de Ordenaciòn y bùsqueda
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaa
 
Búsqueda binaria iterativa
Búsqueda binaria iterativaBúsqueda binaria iterativa
Búsqueda binaria iterativa
 
Manual de uso de la función BUSCARH
Manual de uso de la función BUSCARHManual de uso de la función BUSCARH
Manual de uso de la función BUSCARH
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
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)
 
METODOS DE BUSQUEDA
METODOS DE BUSQUEDAMETODOS DE BUSQUEDA
METODOS DE BUSQUEDA
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Busquedas binarias y secuenciales
Busquedas binarias y secuencialesBusquedas binarias y secuenciales
Busquedas binarias y secuenciales
 
Metodo de busqueda secuencial
Metodo de busqueda secuencialMetodo de busqueda secuencial
Metodo de busqueda secuencial
 
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
 
Informe tecnico unidad 6
Informe tecnico unidad 6Informe tecnico unidad 6
Informe tecnico unidad 6
 
Quicksort
QuicksortQuicksort
Quicksort
 

Similar a 02 uni1-estructuras de datos-arreglos

Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1VivianaG
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectoressirekarol
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctoresmishuhot
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosK Manuel TN
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxEverMuchairo1
 
Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Videoconferencias UTPL
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
ALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punterosALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punterosFranklin Parrales Bravo
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaMaiky Kobatakane
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividadjambslide
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directatavo_3315_
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamientolichic
 
Estructura de dato unidad 6
Estructura de dato unidad 6Estructura de dato unidad 6
Estructura de dato unidad 6lenithoz
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos OrdenamientoDaniel Guaycha
 

Similar a 02 uni1-estructuras de datos-arreglos (20)

Arreglos enitmar
Arreglos enitmarArreglos enitmar
Arreglos enitmar
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Ordenamientos de vectores
Ordenamientos de vectoresOrdenamientos de vectores
Ordenamientos de vectores
 
Metodos de odenamiento de vctores
Metodos de odenamiento de vctoresMetodos de odenamiento de vctores
Metodos de odenamiento de vctores
 
Josemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodosJosemanueunidad4 investigacionmetodos
Josemanueunidad4 investigacionmetodos
 
ALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptxALGORITMO DE BUSQUEDA.pptx
ALGORITMO DE BUSQUEDA.pptx
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 
Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)Estructura de Datos y Algoritmos I (I Bimestre)
Estructura de Datos y Algoritmos I (I Bimestre)
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
metodos de busqueda
metodos de busquedametodos de busqueda
metodos de busqueda
 
ALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punterosALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punteros
 
UNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busquedaUNIDAD IV - metodos de busqueda
UNIDAD IV - metodos de busqueda
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividad
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Estructura de dato unidad 6
Estructura de dato unidad 6Estructura de dato unidad 6
Estructura de dato unidad 6
 
Porto
PortoPorto
Porto
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 

Más de Franco Guamán

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafosFranco Guamán
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda javaFranco Guamán
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 dFranco Guamán
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las edFranco Guamán
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivasFranco Guamán
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivasFranco Guamán
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contFranco Guamán
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un ProgramaFranco Guamán
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFranco Guamán
 

Más de Franco Guamán (11)

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafos
 
Arbol binario de busqueda java
Arbol binario de busqueda   javaArbol binario de busqueda   java
Arbol binario de busqueda java
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed
 
Uni6 a series
Uni6 a seriesUni6 a series
Uni6 a series
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivas
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivas
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-cont
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 

Último

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
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
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
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
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
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
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
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
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
 
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.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 

02 uni1-estructuras de datos-arreglos

  • 1. Estructuras de Datos y Algoritmos M.Sc. Franco Guamán Bastidas Universidad Técnica Particular de Loja Departamento de Ciencias de la Computación y Electrónica Sección Departamental de Inteligencia Artificial ARREGLOS
  • 2. Contenidos  Arreglos  Definición  Recorrido de arreglos  Ejercicios  Trabajando con arreglos Estructuras de Datos y Algoritmos - Franco Guamán 2
  • 3. Arreglos  Definición: Colección finita, homogénea y ordenada de elementos. Finita: porque todo arreglo tiene un límite. Homogénea: porque todos los elementos son del mismo tipo. Ordenada: porque se puede determinar cuál es el enésimo elemento.  Es una estructura de datos que puede almacenar N elementos de un mismo tipo de datos.  Normalmente el arreglo se utiliza para almacenar tipos de datos tales como: char, int o float Estructuras de Datos y Algoritmos - Franco Guamán 3
  • 4. Arreglos  Un arreglo tiene dos partes: Componentes e índices Componentes: Hacen referencia a los elementos que forman el arreglo. Índices: Permiten referirse a los componentes del arreglo en forma individual. Representación gráfica de un arreglo Estructuras de Datos y Algoritmos - Franco Guamán 4 8 10 39 29 31 25 32 40 22 38 0 1 2 3 4 5 6 7 8 9 índices component es
  • 5. Ejemplos  Si tuviéramos un arreglo de caracteres con el texto “ESTRUCTURA” ¿cuál sería el índice de la primera letra “T”?.  Un curso de Computación tiene 40 alumnos matriculados, si Usted. tuviese que diseñar un arreglo para registrar las notas de los alumnos responda lo siguiente: 1. ¿De qué tipo de dato lo definiría? 2. ¿Qué tamaño tendría el arreglo? 3. ¿Cuál es el índice inferior del arreglo? 4. ¿Cuál es el índice superior del arreglo? Estructuras de Datos y Algoritmos - Franco Guamán 5
  • 6. Trabajando con arreglos Existen algunas operaciones que se pueden desarrollar con los arreglos, entre las principales tenemos:  Inicialización  Ingresar  Eliminar  Insertar  Modificar  Presentar  Ordenar  Buscar  Otras… Estructuras de Datos y Algoritmos - Franco Guamán 6
  • 7. Trabajando con arreglos Inicializar un Arreglo Existen varias maneras de inicializar un arreglo, una manera muy sencilla es inicializar en la declaración de variables. A continuación podemos observar tres formas diferentes de inicializar un arreglo en Java. Estructuras de Datos y Algoritmos - Franco Guamán 7
  • 8. Trabajando con arreglos Inicializar un Arreglo Primero se declara el arreglo. Estructuras de Datos y Algoritmos - Franco Guamán 8 Tipo int[] myArray = new int[10]; nombreArray Numero de elementos
  • 9. Trabajando con arreglos Ingresar datos en un Arreglo Podemos utilizar la estructura de control for para ingresar los elementos del arreglo, como se ve en el siguiente método. Estructuras de Datos y Algoritmos - Franco Guamán 9
  • 10. Trabajando con arreglos EL Acceso a los elementos de un Arreglo se lo realiza por medio de un subíndice, por ejemplo si se quisiera acceder al primer elemento del siguiente arreglo, tendré que hacérselo de la siguiente manera: En la variable nro se almacenara el valor de 8, para acceder al segundo valor: Se almacenará el valor de 10, y así sucesivamente con los demás elementos. Estructuras de Datos y Algoritmos - Franco Guamán 10 8 10 39 29 31 25 32 40 22 38 0 1 2 3 4 5 6 7 8 9 myArray2 nro = myArray2[0]; nro = myArray2[1];
  • 11. Trabajando con arreglos Presentar elementos de un Arreglo La presentación de elementos también se la realiza por medio de sus subíndices, para ello también podemos valernos de la sentencia for, como se muestra en el siguiente método. Estructuras de Datos y Algoritmos - Franco Guamán 11
  • 12. Trabajando con arreglos Búsqueda secuencial • No es necesario que el arreglo esté ordenado. • Compara el elemento buscado con cada uno de los elementos, hasta encontrarlo o llegar al fin del mismo. Estructuras de Datos y Algoritmos - Franco Guamán 12 4 8 3 14 5 7 a[0] a[1] a[5] Clave = 6 Valor devuelto, -1 Valor buscado 4 8 3 14 5 7 a[0] a[1] a[5] Clave = 5 Valor devuelto, índice 4 Valor buscado
  • 13. Trabajando con arreglos Búsqueda secuencial • En este caso, el método nos regresa el índice del elemento encontrado, o el valor -1 si no existe. Estructuras de Datos y Algoritmos - Franco Guamán 13
  • 14. Trabajando con arreglos Eliminar elementos de un Arreglo • Implica la búsqueda del elemento en el arreglo, determinar su existencia y realizar su eliminación lógica. • Recorrer los elementos de su derecha una casilla hacia la izquierda y reducir en una unidad el número de elementos existentes en el arreglo. Estructuras de Datos y Algoritmos - Franco Guamán 14
  • 15. Trabajando con arreglos Eliminar elementos de un Arreglo • En este ejemplo utilizamos la variable n para saber el número de elementos existentes en el arreglo. • El recorrido de elementos hacia la izquierda sería: Estructuras de Datos y Algoritmos - Franco Guamán 15 Diseñe el método necesario para realizar el desplazamiento de los elementos una posición a la izquierda. 8 10 39 29 31 25 32 40 22 0 1 2 3 4 5 6 7 8 9 8 10 39 29 25 32 40 22 22 0 1 2 3 4 5 6 7 8 9 n=9 n=8
  • 16. Trabajando con arreglos Insertar elementos en un Arreglo Consiste en agregar nuevos elementos a un arreglo existente en el caso de que cuente con espacios disponibles, entre los principales casos tenemos: • Insertar al inicio del arreglo. • Insertar en el primer espacio vació del arreglo. • Insertar cuidando que no se repitan los elementos. • Insertar en una posición previamente determinada. • En caso de que el arreglo este ordenado, insertar en el lugar que le corresponde. Cada uno de los casos antes mencionados tendrá una manera diferente de ser tratado. Estructuras de Datos y Algoritmos - Franco Guamán 16
  • 17. Trabajando con arreglos Insertar elementos en un Arreglo En el caso, inserción de un elemento nuevo en un arreglo desordenado, sin importar si se repite, se implementaría como lo podemos observar en el siguiente método. Estructuras de Datos y Algoritmos - Franco Guamán 17
  • 18. Trabajando con arreglos Insertar elementos en un Arreglo Si deseamos en cambio, controlar que no se repitan los elementos, podríamos utilizar el método de búsqueda previamente estudiado, así: Estructuras de Datos y Algoritmos - Franco Guamán 18 Realice los métodos necesario para los demás casos de inserción.
  • 19. Trabajando con arreglos Ordenar un Arreglo Existen algunos algoritmos que difieren tanto en su complejidad como en rendimiento, estos algoritmos pueden ser clasificados de la siguiente manera:  Métodos Iterativos. Entre los principales tenemos: Burbuja, Inserción, Selección y Shellsort  Métodos Recursivos. Los principales son: MergeSort y QuickSort Estructuras de Datos y Algoritmos - Franco Guamán 19 Revise el archivo “REA_Algoritmos de Ordenamiento.pdf” que podrá descargarlo desde el Entorno Virtual de Aprendizaje.
  • 20. Trabajando con arreglos Ordenar un Arreglo Método burbuja: Estructuras de Datos y Algoritmos - Franco Guamán 20
  • 21. Trabajando con arreglos Ordenar un Arreglo Método QuickSort: Estructuras de Datos y Algoritmos - Franco Guamán 21
  • 22. Trabajando con arreglos Búsqueda Binaria • Necesariamente el arreglo debe estar ordenado. • El algoritmo realiza comparaciones para determinar si el valor buscado está ubicado en el punto medio del arreglo o estaría en su mitad superior o inferior. • De no encontrarse en el primer paso y una vez determinada su posible ubicación, se subdivide el arreglo, y así sucesivamente hasta encontrar el valor o determinar su inexistencia. • Al igual que en el caso de la búsqueda secuencial, este algoritmo devolverá la posición del elemento buscado, o un valor de -1 en el caso de que tal elemento no se encuentre en el arreglo. Estructuras de Datos y Algoritmos - Franco Guamán 22
  • 23. Trabajando con arreglos Búsqueda Binaria Estructuras de Datos y Algoritmos - Franco Guamán 23 Índices de la lista son bajo = 0 y alto = n-1 13 44 75 100 120 275 325 510 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] Clave = 225 Calcular el índice del punto central del arreglo central = (bajo + alto) / 2 central = (0 + 7) / 2 = 3 n = 8 Comparar el valor de este elemento central con la clave bajo central alto Clave encontrada clave bajo central alto Búsqueda lista inferior clave bajo central alto Búsqueda lista superior clave Valor buscado clave=central clave<central clave>central
  • 24. Trabajando con arreglos Búsqueda Binaria Estructuras de Datos y Algoritmos - Franco Guamán 24
  • 25. Trabajando con arreglos Comparación entre Búsquedas Secuencial y Binaria Estructuras de Datos y Algoritmos - Franco Guamán 25
  • 26. Estructuras de Datos y Algoritmos - Franco Guamán 26 Preguntas