Descarga la aplicación para disfrutar aún más
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] );
Compartir