SlideShare una empresa de Scribd logo
1 de 38
Arreglos Unidimensionales y
Bidimensionales
ESTRUCTURAS DE DATOS I
Estructuras de Datos: Conceptos
 Conjunto de datos de tipos iguales o
diferentes que se relacionan entre si y que
se pueden operar como un todo.
Entero, Real, Carácter, Lógico
Datos Simples
Hacen referencia a un único valor a la vez en memoria
Datos Estructurados
Se refieren a un grupo de casillas de memoria
Estáticos
Dinámicos
Arreglos, Registros,
Archivos, Cadenas
Listas, Arboles, Grafos
¿Qué es una Estructura de Datos?
 Una estructura de datos es una forma de organizar un
conjunto de datos elementales con el objetivo de facilitar
su manipulación. Un dato elemental es la mínima
información que se tiene en un programa.(ejemplos de
datos elementales serían int, float, char,etc…)
 Lo que se pretende con las estructuras de datos es facilitar
un esquema lógico para manipular los datos en función del
problema que haya que tratar y el algoritmo para
resolverlo.
¿Qué es una Estructura de Datos?
 En algunos casos la dificultad para resolver un problema
radica en escoger la estructura de datos adecuada. Y, en
general, la elección del algoritmo y de las estructuras de
datos que manipulará estarán muy relacionadas.
Estructuras de Datos: Implementación
 Para implementar alguna estructura de datos,
primero es necesario tener muy claro cómo va a
ser el manejo de memoria.
 La diferencia entre estructuras estáticas y
dinámicas es el manejo de memoria.
Estática
Durante la ejecución
del programa el
tamaño de la
estructura no cambia
Dinámica
Durante la ejecución
del programa el
tamaño de la
estructura puede
cambiar
Estructuras de Datos
Tema: Memoria Estática
Subtema: Conceptos de Arreglos
 Definición: Colección finita, homogenea y ordenada de
elementos. Finita: Porque todo arreglo tiene un límite.
Homogenea: Porque todos los elementos son del mismo tipo.
Ordenada: Porque se puede determinar cuál es el enésimo
elemento.
 Un arreglo tiene dos partes: Componentes e índices
C1 C2 .... Cn
i0 i1 in
Componentes
Índices
 Componentes: Hacen referencia a los elementos que forman el
arreglo.
 Índices: Permiten referirse a los componentes del arreglo en
forma individual.
¿Arreglos o arrays?
Un arreglo (array) es una colección de datos
del mismo tipo, que se almacenan en
posiciones consecutivas de memoria y reciben
un nombre común.
Arreglos
Para referirse a un determinado elemento de
un array se deberá utilizar un índice, que
especifique su posición relativa en el array.
Un arreglo es una colección finita, homogénea
y ordenada de elementos.
Finita:Todo arreglo tiene un límite; es
decir,debe determinarse cuál será el número
máximo de elementos que podrán formar
parte del arreglo.
Homogénea: Todos los elementos del
arreglo deben ser del mismo tipo.
Ordenada: Se puede determinar cuál es el
primer elemento, el segundo, el tercero,.... y el
n-ésimo elmento.
Los arreglos se clasifican de acuerdo con el
número de dimensiones que tienen. Así se
tienen los:
Unidimensionales (vectores)
Bidimensionales (tablas o matrices)
Multidimensionales (tres o más
dimensiones)
Unidimensionales y bidimensionales
Si no existieran los arreglos
Suponga que se desea desarrollar un programa
para:
1. Leer una lista de calificaciones de un examen
2. Encontrar su media
3. Escribir una lista de las calificaciones mayores
que la media
4. Ordenar la lista de las calificaciones en orden
ascendente.
Supongamos también que hay 100
calificaciones. Debemos utilizar 100 variables
diferentes nota1, nota2, ...., nota100, de ese
modo son 100 direcciones diferentes de
memoria para almacenar las calificaciones del
examen. Se imagina declarar las 100
variables.
¿cuántas instrucciones involucra?
Para calcular la media:
Media ¬(nota1+nota2+.......+nota100)/100
Para la lista de calificaciones mayores que la media, deberá
también irse comparando una por una:
Si nota1 > media entonces
escribir (nota1)
Fin_si
Si nota2 > media entonces
escribir (nota2)
Fin_si
Si nota100 > media entonces
escribir (nota100)
Fin_si
Estructuras de Datos
Tema: Memoria Estática
Subtema: Arreglos Unidimensionales
 Son los arreglos más simples y constan de un solo
índice, tambien se llaman vectores.
 Notación: Podría ser de diferentes maneras. Por ej:
Array [0...9] de enteros: Vector
Vector: x
14 43 .... 4
x0 x1 x9
Componentes
Índices
 X hace referencia a todo el vector, mientras que
x0, o x1 hace referencia los elementos en forma
individual
Estructuras de Datos
Tema: Memoria Estática
Subtema: Arreglos Unidimensionales
 Los arreglos se almacenan en forma adyacente, así que su
representación en memoria es:
X0 ,Dirección z; X1 ,Dirección z+1; Xn ,Dirección z+n
 Cada elemento del arreglo se puede procesar como si fuera una
variable simple.Ej:
Suma Suma + x[2]
X[2] 15
i 3
X[i] 15
X[i+2] 15
 Sobre los vectores se pueden realizar las siguientes operaciones:
Lectura/Escritura, Asignación, Actualización(ins, eli, Mod),
Ordenamiento y Búsqueda.
Arreglos unidimensionales
Están formados por un conjunto de elementos
de un mismo tipo de datos que se almacenan
bajo un mismo nombre, y se diferencian por la
posición que tiene cada elemento dentro del
arreglo de datos.
Al declarar un arreglo, se debe inicializar sus
elementos antes de utilizarlos. Para declarar
un arreglo tiene que indicar su tipo, un
nombre único y la cantidad de elementos que
va a contener
Partes de un arreglo
 Los componentes
 Los índices
Los componentes. Hacen referencia a los
elementos que forman el arreglo, es decir, a
los valores que se almacenan en cada una de
las casillas del mismo.
Los índices. Permiten hacer referencia a los
componentes del arreglo en forma individual,
especifican cuántos elementos tendrá el
arreglo y además, de qué modo podrán
accesarse esos componentes.
Operaciones con vectores
 Lectura/ escritura
 Asignación
 Actualización (inserción, eliminación, modificación)
 Recorrido (acceso secuencial)
 Ordenación
 Búsqueda
Sea arre un arreglo de 70 elementos enteros
con índices enteros. Su representación nos
queda:
Sea bool un arreglo de 26 elementos
booleanos con índices de tipo caracter. Su
representación nos queda:
Lectura
El proceso de lectura de un arreglo consiste en
leer y asignar un valor a cada uno de sus
elementos. Normalmente se realizan con
estructuras repetitivas, aunque pueden usarse
estructuras selectivas. Usamos los índices
para recorrer los elementos del arreglo:
desde i = 1 hasta 70 hacer
leer ( arre[i])
fin_desde
Escritura
Es similar al caso de lectura, sólo que en vez
de leer el componente del arreglo, lo
escribimos.
leer (N)
desde i = 1 hasta N hacer
escribir (arre[i])
fin_desde
Asignación
No es posible asignar directamente un valor a
todo el arreglo; sino que se debe asignar el
valor deseado en cada componente. Con una
estructura repetitiva se puede asignar un valor
a todos los elementos del vector.
Por ejemplo:
arre[1] =120 (asignación de un valor
constante único a una casilla del vector)
arre[3] =arre[1] / 4 (asignar una
operación)
Se puede asignar un valor constante a todos
los elementos del vector:
desde i = 1 hasta 5 hacer
arre[i] =3
fin_desde
O bien
arre =3 (con arre del tipo arreglo)
Inicialización
Para inicializar con cero todos los elementos
del arreglo:
desde i = 1 hasta 70 hacer
arre[i] ¬ 0
fin_desde
Acceso Secuencial (recorrido)
El acceso a los elementos de un vector puede
ser para leer en él o para escribir (visualizar su
contenido). Recorrido del vector es la acción
de efectuar una acción general sobre todos
los elementos de ese vector.
Actualización
Incluye añadir (insertar), borrar o modificar
algunos de los ya existentes. Se debe tener en
cuenta si el arreglo está o no ordenado. Añadir
datos a un vector consiste en agregar un
nuevo elemento al final del vector, siempre
que haya espacio en memoria.
Estructuras de Datos
Tema: Memoria Estática
Subtema: Arreglos Bidimensionales
 Estos arreglos constan de dos índices, también se llaman
matrices.
 Notación: Podría ser de diferentes maneras. Por ej:
Array [0...2, 0...2] de enteros: Matriz
Matriz: M
34 43 90
0 1 2
Componentes
Indices
83 2 41
56 75 3
0
1
2
 Operaciones: Lectura,
Escritura, Asignación.
Arreglo bidimensional
Es un conjunto de datos homogéneo, finito y
ordenado, donde se hace referencia a cada
elemento por medio de dos índices.
El primero se utiliza para los renglones (filas)
y el segundo para las columnas.
 También puede definirse como un arreglo de
arreglos. Internamente en memoria se
reservan MxN posiciones consecutivas para
almacenar todos los elementos del arreglo.
Declaración de una matriz

Más contenido relacionado

Similar a Estructuras de Datos Elementos y Arreglos.ppt

Similar a Estructuras de Datos Elementos y Arreglos.ppt (20)

Arrays
ArraysArrays
Arrays
 
Arreglos
ArreglosArreglos
Arreglos
 
5ta Evaluación de Progamación.docx
5ta Evaluación de Progamación.docx5ta Evaluación de Progamación.docx
5ta Evaluación de Progamación.docx
 
Cap06 arreglos y vectores.
Cap06 arreglos y vectores.Cap06 arreglos y vectores.
Cap06 arreglos y vectores.
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
 
Grupo
GrupoGrupo
Grupo
 
Ape unidad4
Ape unidad4Ape unidad4
Ape unidad4
 
ARREGLOS UNIDIMENSIONALES
ARREGLOS UNIDIMENSIONALESARREGLOS UNIDIMENSIONALES
ARREGLOS UNIDIMENSIONALES
 
Daniel lugoalgoritmica
Daniel lugoalgoritmicaDaniel lugoalgoritmica
Daniel lugoalgoritmica
 
Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)
 
Angela y vicky I-B
Angela y vicky I-BAngela y vicky I-B
Angela y vicky I-B
 
Apuntes Ped
Apuntes PedApuntes Ped
Apuntes Ped
 
Arreglos
ArreglosArreglos
Arreglos
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3
 
Array o arreglos
Array o arreglos Array o arreglos
Array o arreglos
 
Arreglos - Assembler
Arreglos - AssemblerArreglos - Assembler
Arreglos - Assembler
 
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptxOBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
 
Presentación Arreglos
Presentación ArreglosPresentación Arreglos
Presentación Arreglos
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]
 

Más de AndersonHernandezara

Sesión 9 y 10 - Modelado de procesos de Software (1).pdf
Sesión 9 y 10 - Modelado de procesos de Software (1).pdfSesión 9 y 10 - Modelado de procesos de Software (1).pdf
Sesión 9 y 10 - Modelado de procesos de Software (1).pdfAndersonHernandezara
 
Sesión #1 Introduccion al curso.pptx
Sesión #1 Introduccion al curso.pptxSesión #1 Introduccion al curso.pptx
Sesión #1 Introduccion al curso.pptxAndersonHernandezara
 
Clase # 2 y 3 Introducción a Servicio al cliente.pptx
Clase # 2 y 3 Introducción a Servicio al cliente.pptxClase # 2 y 3 Introducción a Servicio al cliente.pptx
Clase # 2 y 3 Introducción a Servicio al cliente.pptxAndersonHernandezara
 
Sesión 2 - Ciclo de vida del Software.pptx
Sesión 2 - Ciclo de vida del Software.pptxSesión 2 - Ciclo de vida del Software.pptx
Sesión 2 - Ciclo de vida del Software.pptxAndersonHernandezara
 
Proyecto Area Técnología e Informática 2022.docx
Proyecto Area Técnología e Informática 2022.docxProyecto Area Técnología e Informática 2022.docx
Proyecto Area Técnología e Informática 2022.docxAndersonHernandezara
 

Más de AndersonHernandezara (6)

Sesión 9 y 10 - Modelado de procesos de Software (1).pdf
Sesión 9 y 10 - Modelado de procesos de Software (1).pdfSesión 9 y 10 - Modelado de procesos de Software (1).pdf
Sesión 9 y 10 - Modelado de procesos de Software (1).pdf
 
Sesión #1 Introduccion al curso.pptx
Sesión #1 Introduccion al curso.pptxSesión #1 Introduccion al curso.pptx
Sesión #1 Introduccion al curso.pptx
 
Clase # 2 y 3 Introducción a Servicio al cliente.pptx
Clase # 2 y 3 Introducción a Servicio al cliente.pptxClase # 2 y 3 Introducción a Servicio al cliente.pptx
Clase # 2 y 3 Introducción a Servicio al cliente.pptx
 
Sesión 2 - Ciclo de vida del Software.pptx
Sesión 2 - Ciclo de vida del Software.pptxSesión 2 - Ciclo de vida del Software.pptx
Sesión 2 - Ciclo de vida del Software.pptx
 
Introducción a Android.pdf
Introducción a Android.pdfIntroducción a Android.pdf
Introducción a Android.pdf
 
Proyecto Area Técnología e Informática 2022.docx
Proyecto Area Técnología e Informática 2022.docxProyecto Area Técnología e Informática 2022.docx
Proyecto Area Técnología e Informática 2022.docx
 

Último

Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdfleonardocahua1
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbantoniolfdez2006
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanaArnolVillalobos
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxfranklingerardoloma
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientoscuentaparainvestigac
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoGualbertoLopez2
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfoctaviosalazar18
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasGraciaMatute1
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfElybe Hernandez
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.davidtonconi
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxQualityAdviceService
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxMaxPercyBorjaVillanu
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 

Último (20)

Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 

Estructuras de Datos Elementos y Arreglos.ppt

  • 2. Estructuras de Datos: Conceptos  Conjunto de datos de tipos iguales o diferentes que se relacionan entre si y que se pueden operar como un todo. Entero, Real, Carácter, Lógico Datos Simples Hacen referencia a un único valor a la vez en memoria Datos Estructurados Se refieren a un grupo de casillas de memoria Estáticos Dinámicos Arreglos, Registros, Archivos, Cadenas Listas, Arboles, Grafos
  • 3. ¿Qué es una Estructura de Datos?  Una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un programa.(ejemplos de datos elementales serían int, float, char,etc…)  Lo que se pretende con las estructuras de datos es facilitar un esquema lógico para manipular los datos en función del problema que haya que tratar y el algoritmo para resolverlo.
  • 4. ¿Qué es una Estructura de Datos?  En algunos casos la dificultad para resolver un problema radica en escoger la estructura de datos adecuada. Y, en general, la elección del algoritmo y de las estructuras de datos que manipulará estarán muy relacionadas.
  • 5. Estructuras de Datos: Implementación  Para implementar alguna estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria.  La diferencia entre estructuras estáticas y dinámicas es el manejo de memoria. Estática Durante la ejecución del programa el tamaño de la estructura no cambia Dinámica Durante la ejecución del programa el tamaño de la estructura puede cambiar
  • 6. Estructuras de Datos Tema: Memoria Estática Subtema: Conceptos de Arreglos  Definición: Colección finita, homogenea y ordenada de elementos. Finita: Porque todo arreglo tiene un límite. Homogenea: Porque todos los elementos son del mismo tipo. Ordenada: Porque se puede determinar cuál es el enésimo elemento.  Un arreglo tiene dos partes: Componentes e índices C1 C2 .... Cn i0 i1 in Componentes Índices  Componentes: Hacen referencia a los elementos que forman el arreglo.  Índices: Permiten referirse a los componentes del arreglo en forma individual.
  • 7. ¿Arreglos o arrays? Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común.
  • 8. Arreglos Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos.
  • 9. Finita:Todo arreglo tiene un límite; es decir,debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo. Homogénea: Todos los elementos del arreglo deben ser del mismo tipo. Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elmento.
  • 10. Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Así se tienen los: Unidimensionales (vectores) Bidimensionales (tablas o matrices) Multidimensionales (tres o más dimensiones)
  • 12.
  • 13. Si no existieran los arreglos Suponga que se desea desarrollar un programa para: 1. Leer una lista de calificaciones de un examen 2. Encontrar su media 3. Escribir una lista de las calificaciones mayores que la media 4. Ordenar la lista de las calificaciones en orden ascendente.
  • 14. Supongamos también que hay 100 calificaciones. Debemos utilizar 100 variables diferentes nota1, nota2, ...., nota100, de ese modo son 100 direcciones diferentes de memoria para almacenar las calificaciones del examen. Se imagina declarar las 100 variables. ¿cuántas instrucciones involucra?
  • 15. Para calcular la media: Media ¬(nota1+nota2+.......+nota100)/100 Para la lista de calificaciones mayores que la media, deberá también irse comparando una por una: Si nota1 > media entonces escribir (nota1) Fin_si Si nota2 > media entonces escribir (nota2) Fin_si Si nota100 > media entonces escribir (nota100) Fin_si
  • 16. Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos Unidimensionales  Son los arreglos más simples y constan de un solo índice, tambien se llaman vectores.  Notación: Podría ser de diferentes maneras. Por ej: Array [0...9] de enteros: Vector Vector: x 14 43 .... 4 x0 x1 x9 Componentes Índices  X hace referencia a todo el vector, mientras que x0, o x1 hace referencia los elementos en forma individual
  • 17. Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos Unidimensionales  Los arreglos se almacenan en forma adyacente, así que su representación en memoria es: X0 ,Dirección z; X1 ,Dirección z+1; Xn ,Dirección z+n  Cada elemento del arreglo se puede procesar como si fuera una variable simple.Ej: Suma Suma + x[2] X[2] 15 i 3 X[i] 15 X[i+2] 15  Sobre los vectores se pueden realizar las siguientes operaciones: Lectura/Escritura, Asignación, Actualización(ins, eli, Mod), Ordenamiento y Búsqueda.
  • 18. Arreglos unidimensionales Están formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre, y se diferencian por la posición que tiene cada elemento dentro del arreglo de datos.
  • 19. Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos. Para declarar un arreglo tiene que indicar su tipo, un nombre único y la cantidad de elementos que va a contener
  • 20.
  • 21. Partes de un arreglo  Los componentes  Los índices
  • 22. Los componentes. Hacen referencia a los elementos que forman el arreglo, es decir, a los valores que se almacenan en cada una de las casillas del mismo.
  • 23. Los índices. Permiten hacer referencia a los componentes del arreglo en forma individual, especifican cuántos elementos tendrá el arreglo y además, de qué modo podrán accesarse esos componentes.
  • 24.
  • 25. Operaciones con vectores  Lectura/ escritura  Asignación  Actualización (inserción, eliminación, modificación)  Recorrido (acceso secuencial)  Ordenación  Búsqueda
  • 26. Sea arre un arreglo de 70 elementos enteros con índices enteros. Su representación nos queda:
  • 27. Sea bool un arreglo de 26 elementos booleanos con índices de tipo caracter. Su representación nos queda:
  • 28. Lectura El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus elementos. Normalmente se realizan con estructuras repetitivas, aunque pueden usarse estructuras selectivas. Usamos los índices para recorrer los elementos del arreglo: desde i = 1 hasta 70 hacer leer ( arre[i]) fin_desde
  • 29. Escritura Es similar al caso de lectura, sólo que en vez de leer el componente del arreglo, lo escribimos. leer (N) desde i = 1 hasta N hacer escribir (arre[i]) fin_desde
  • 30. Asignación No es posible asignar directamente un valor a todo el arreglo; sino que se debe asignar el valor deseado en cada componente. Con una estructura repetitiva se puede asignar un valor a todos los elementos del vector. Por ejemplo: arre[1] =120 (asignación de un valor constante único a una casilla del vector) arre[3] =arre[1] / 4 (asignar una operación)
  • 31. Se puede asignar un valor constante a todos los elementos del vector: desde i = 1 hasta 5 hacer arre[i] =3 fin_desde O bien arre =3 (con arre del tipo arreglo)
  • 32. Inicialización Para inicializar con cero todos los elementos del arreglo: desde i = 1 hasta 70 hacer arre[i] ¬ 0 fin_desde
  • 33. Acceso Secuencial (recorrido) El acceso a los elementos de un vector puede ser para leer en él o para escribir (visualizar su contenido). Recorrido del vector es la acción de efectuar una acción general sobre todos los elementos de ese vector.
  • 34. Actualización Incluye añadir (insertar), borrar o modificar algunos de los ya existentes. Se debe tener en cuenta si el arreglo está o no ordenado. Añadir datos a un vector consiste en agregar un nuevo elemento al final del vector, siempre que haya espacio en memoria.
  • 35. Estructuras de Datos Tema: Memoria Estática Subtema: Arreglos Bidimensionales  Estos arreglos constan de dos índices, también se llaman matrices.  Notación: Podría ser de diferentes maneras. Por ej: Array [0...2, 0...2] de enteros: Matriz Matriz: M 34 43 90 0 1 2 Componentes Indices 83 2 41 56 75 3 0 1 2  Operaciones: Lectura, Escritura, Asignación.
  • 36. Arreglo bidimensional Es un conjunto de datos homogéneo, finito y ordenado, donde se hace referencia a cada elemento por medio de dos índices. El primero se utiliza para los renglones (filas) y el segundo para las columnas.
  • 37.  También puede definirse como un arreglo de arreglos. Internamente en memoria se reservan MxN posiciones consecutivas para almacenar todos los elementos del arreglo.