Logo Studenta

IaI-LGSM-Apuntes de Cátedra - Cap 4 - v1 0

¡Estudia con miles de materiales!

Vista previa del material en texto

Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 1 
Estructuras de Datos 
Introducción 
En programación, una estructura de datos es una forma particular de organizar datos en una 
computadora para que pueda ser utilizado de manera eficiente. Diferentes tipos de estructuras de 
datos son adecuados para diferentes tipos de aplicaciones, y algunos son altamente especializados 
para tareas específicas. Las estructuras de datos son un medio para manejar grandes cantidades de 
datos de manera eficiente. 
Tipos de datos estructurados 
Los datos siempre que estén relacionados se pueden organizar en estructuras, de tal manera que se 
pueda tener un conjunto de datos numéricos, lógicos, o caracteres manejados a través de una 
misma estructura de datos 
Un dato estructurado es un conjunto de datos agrupados bajo un mismo nombre y lógicamente 
vinculados de manera tal, que representen un comportamiento específico. 
Una estructura de datos es la organización que reciben los datos para que sean tratados como una 
unidad. Existen varias formas de organizar los datos o valores que maneja un algoritmo, en la 
figura siguiente se muestra una clasificación: 
 
 
Arreglos (Arrays) 
Es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria 
y reciben un nombre común. Para referirse a un determinado elemento de un arreglo se deberá 
utilizar un índice, que especifique su posición dentro del arreglo. 
Todos los componentes pertenecientes, llamados también elementos del arreglo, están uno a 
continuación de otro, tienen el mismo tamaño o espacio en memoria, son todos de un mismo tipo 
de dato y, por lo tanto, tienen igual forma de almacenamiento. 
Entonces, para manejar en forma independiente cada componente del arreglo se usa un índice, éste 
índice puede ser una expresión de tipo entero (sin decimales) que indica cuál de los elementos del 
 
 
 
 
Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 2 
arreglo se desea acceder. Siempre que se quiera trabajar o acceder a un componente es necesario 
especificar el índice junto al nombre del arreglo; es éste el que hace independiente un elemento de 
otro. 
 
El uso de arreglos es fundamental cuando se requiere mantener en memoria y operar muchos datos. 
Por ejemplo: un grupo de estudiantes, una nómina, una factura (incluye varios productos), un 
inventario, una biblioteca; todos estos conceptos hacen referencia a conjuntos de datos del mismo 
tipo, en los que se puede realizar operaciones como: buscar, ordenar, sumar. 
Entre las características de los arreglos se tiene: 
• Son estructuras estáticas; es decir, que una vez definidas no se puede cambiar su tamaño. 
• Almacenan datos homogéneos. 
• Los datos se almacenan en memoria ocupando posiciones seguidas, de manera que solo 
es necesario la referencia al primer elemento. 
• Tienen un mismo identificador (nombre de variable) que representa a todos los 
elementos. 
• Los elementos individuales se reconocen por el índice o posición que ocupan en el arreglo. 
 
Arreglos de una dimensión o unidimensionales (Vectores) 
Un vector es una estructura de datos estática correspondiente a una colección de datos del mismo 
tipo que se agrupan bajo un mismo nombre y se diferencias unos de otros por la posición que 
ocupan en la estructura. 
Los elementos que lo conforman están dispuestos bajo un mismo concepto de clasificación (fila o 
columna), es decir, los datos están organizados de una manera lineal, por lo que para referenciar un 
elemento del vector es necesario un índice, que indique la posición del elemento en el vector. 
 
 
 
 
Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 3 
Cuando al nombre del vector se le adiciona el índice, bien sea entre paréntesis o corchetes, el 
componente al cual hace referencia el índice es tomada como una variable simple, igual a las que 
en capítulos anteriores se han venido tratando; por lo tanto, puede estar involucrada en una 
expresión, en una entrada o salida de datos, o en una asignación. 
Gráficamente, un vector se representa como una “tabla”: 
 
De igual forma que cualquier variable, un vector debe tener un nombre 
 
Aquí se ha llamado A al vector ejemplo. 
Los elementos que están en el vector A ocupan una determinada posición dentro de él: 
 
 
Así, el número -5 se encuentra en la posición 3; el 99 en la posición 10 y el 12 en la posición 1. 
Esos valores se pueden “cargar” en tales posiciones realizando las siguientes operaciones de 
asignación: 
A[3] := - 5; 
A[10] := 99; 
A[1] := 12; 
Como se puede observar un elemento se referencia por el nombre del vector y la posición que ocupa 
dentro de él. El número que se coloca entre corchetes se llama índice y designa la posición del 
elemento en el vector. 
Cada elemento del vector se puede procesar como si fuera una variable simple. 
La dimensión de un vector está dada por la cantidad de elementos que contiene y debe ser definida 
al comenzar el programa. 
Vectores Paralelos 
• Dos o más vectores que utilizan el mismo subíndice para acceder a elementos de distintos 
vectores. 
• Pueden procesarse simultáneamente por lo cual deben tener todos la misma dimensión. 
 
 
 
 
Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 4 
• Los vectores paralelos pueden ser utilizados para procesar grupos de datos de diferentes 
tipos. 
Por ejemplo, un grupo puede estar constituido por los datos de un empleado, o datos sobre un 
libro o datos sobre un alumno, etc 
 
 
• Hay una relación entre los componentes de igual subíndice (misma posición) de un vector y 
otro. 
• Si tenemos cuatro vectores de 5 elementos cada uno, en uno se almacenan los nombres de 
los alumnos, en el otro las edades, en el tercero las carreras y en el último las notas de dichos 
alumnos. 
• Se puede decir que los 4 vectores son paralelos si en el componente 1 de cada vector se 
almacena información relacionada a un alumno (por ejemplo: JUAN - 19 años – Carrera 
Industrial – Nota 9). 
• Es decir, hay una relación entre cada componente de los cuatro vectores. 
• Esta relación la conoce únicamente el programador y se hace para facilitar el desarrollo de 
algoritmos que procesen los datos almacenados en las estructuras de datos. 
 
 
 
Arreglos bidimensionales (matrices) 
Conjunto de elementos homogéneo, finito y ordenado, dispuestos en filas y columnas (es decir, en 
dos dimensiones), donde todos los elementos son del mismo tipo. Se utilizan para representar 
información en forma tabular. Cada posición se identifica por la fila y la columna. Al igual que en los 
arreglos unidimensionales, es necesario diferenciar entre valor o dato y la posición que éste ocupa 
dentro del arreglo bidimensional. 
 
 
 
 
Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 5 
La forma que tienen las matrices es similar a la siguiente: 
 
En este ejemplo se tiene una matriz de dimensión M *N, en donde M es el número de columnas y 
N el número de filas. En el ejemplo: M=5 y N=6. El número total de elementos de la matriz será 
entonces es: 5*6 = 30. 
De la misma forma que los vectores, una matriz debe tener un nombre. En el siguiente ejemplo, se 
tiene una matriz MAT y se determina la posición de algunos de sus elementos. MAT será de tipo 
alfanumérico. 
 
La matriz MAT está definida con 5 filas y 6 columnas. La notación para el dimensionamiento de una 
matriz es NOMBRE (cantidad de filas, cantidad de columnas); 
Unavez que la matriz contenga datos para referirnos a un elemento debemos conocer en que fila y 
que columna reside ese elemento, por ejemplo: 
 
 
 
 
Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 6 
 
MAT[1,1] := "A" 
MAT[3, 5] :="Ñ" 
MAT[4,3]:= "OK" 
MAT[5,4] :="L" 
 
Operaciones sobre matrices 
Las operaciones que se desarrollan sobre matrices son totalmente iguales que en los vectores, y con 
en el manejo de posiciones se pueden implementar algoritmos aún más complejos y funcionales. 
Cuando se trabajaron los vectores se hizo necesario el manejo de ciclos para recorrerlos, en este 
caso como se tienen 2 coordenadas o posiciones es aún más necesario el manejo de ciclos, uno para 
recorrer las filas y el otro las columnas: 
 
 
Arreglos multidimensionales 
La cantidad de subíndices están relacionados directamente con la cantidad de dimensiones que se 
definan para el arreglo. Cada elemento se referencia por n índices (uno por cada dimensión). 
Ejemplos: 
• Arreglo3D[2,3,1] := 6; 
• writeln(Arreglo3D[2,3,1] ); 
• readln(Arreglo3D[2,3,1] ); 
 
 
 
 
Facultad de Ingeniería. Extensión Áulica Libertador General San Martín Capítulo 4. Estructuras de datos 
Introducción a la Informática E.A.L.G.S.M. Página 7 
Su tratamiento de recorrido debe ser un bucle por cada dimensión. Por ejemplo, para recorrer una 
matriz tridimensional son necesarios tres bucles anidados. Ejemplo: se desea almacenar la 
información de 10 notas de cada uno de los 40 alumnos de cada una de las 5 comisiones. La 
referencia a una nota precisa de tres índices: 
Notas [7,5,1] hará referencia a la quinta nota del séptimo alumno de la comisión 1. 
Notas[7,5,1] := 6; 
writeln(Notas[7,5,1] ); 
readln(Notas[7,5,1] );

Continuar navegando