Estrctura de Datos

18

Click here to load reader

Transcript of Estrctura de Datos

Page 1: Estrctura de Datos

ESTRUCTURA DE DATOS

(ARREGLOS)II PARTE

Luis Cabrera

María del Cisne Mosquera

Andrés Vargas

FUNDAMENTOS DE LA PROGRAMACIÓN

Page 2: Estrctura de Datos

Arrays De Varias Dimensiones

Existen grupos de datos que son representados mejor en forma de tabla o matriz con dos o más subíndices.

A los arrays no unidimensionales los dividiremos en dos grandes grupos:Arrays Bidimensionales (Dos dimensiones)Arrays Multidimensionales (Tres o mas

dimensiones)

Page 3: Estrctura de Datos

Arreglos Bidimensionales (Matrices/Tablas)

Es un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesita especificar dos subíndices para poder identificar cada elemento del array . El array bidimensional es un conjunto de arrays unidimensionales

Page 4: Estrctura de Datos

Una matriz bidimensional tiene la siguiente forma:

a11 a12 ……………….. a1n

a21 a22 ……………….. a2n

am1 am2 ……………….. amn

Page 5: Estrctura de Datos

8 6 2 3 1 2

2 1 4 5 6 9

2 5 10 32 12 23

12 25 8 6 10 14

15 18 62 3 21 1

Fila 0

Fila 1

Fila 2

Fila 3

Fila 4C

olum

na 0

Col

umna

1

Col

umna

2

Col

umna

3

Col

umna

4

Col

umna

5

M [3] [4]

Con esto se refiere al elemento de la fila 3 y columna 4 que tiene como valor 10

Page 6: Estrctura de Datos

El diagrama anterior representa una tabla de 30 elementos (5x6) es decir con 5 filas y 6 columnas.

Los elementos de un array bidimensional se referencian con dos subíndices: El primer subíndice se refiere a la fila El segundo subíndice se refiere a la columna

En general se considera que un array dimensional comienza sus subíndices en 0 o en 1 según el lenguaje de programación pero pueden tener limites seleccionados para el usuario durante la codificación del algoritmo

Page 7: Estrctura de Datos

Operaciones con Matrices Generar una matriz Inserción de datos: manualmente y

automáticamente Lectura y escritura de elementos Intercambiar filas y columnas. Operaciones artiméticas con matrices:

suma, resta, multiplicacion

Page 8: Estrctura de Datos

Generar una matriz Sintaxis

<clase de datos del elemento> <nombre del arreglo> [<número de filas>], [<número de columnas>];

La única diferencia entre esta definición y la que se requiere para un arreglo unidimensional se encuentra dentro de la especificación del tamaño. Se debe especificar el tamaño de filas y columnas, como se muestra.

Ejemplo: int a [3] [3] ;

a [0] [0] a [0] [1] a [0] [2]

a [1] [0] a [1] [1] a [1] [2]

a [2] [0] a [2] [1] a [2] [2]

Page 9: Estrctura de Datos

Inserción de datos: manualmente y automáticamente

La inserción de datos en arrays normalmente se realizan con estructuras repetitivas aunque tambien pueden hacerse con estructura selectivas.

Las instrucciones de inserción manual se presenta como:

<nombre del arreglo> [<M>] [<N>] = valor del elemento ;

Las instrucciones de inserción automática usando un ciclo for se presenta como:

for (i=0; i<3; i++)

for (j=0; j<4; j++) {

val [i] [j] = c;

c++;

cout << " " << val [i] [j];

}

Page 10: Estrctura de Datos

Lectura y Escritura de elementos Se puede usar cin para insertar

elementos en arreglos bidimensionales y utilizar enunciados cout para extraer elementos del arreglo:

cin >> <nombre del arreglo> [<M>] [<N>] ;

cout << <nombre del arreglo> [<M>] [<N>] ;

Page 11: Estrctura de Datos

Intercambiar Filas y columnas Intercambia las Filas por las Columnas.

Para realizar este proceso, primero se declara una matriz llamada A que al principio es llenada con normalidad, luego se muestra por pantalla y finalmente se asigna de forma invertida los elementos de la matriz A en la matriz B.

Page 12: Estrctura de Datos

Operaciones artiméticas con matrices: suma, resta, multiplicación Las operaciones suma y resta se pueden

utilizar con arrays de tamaños idénticos, es decir, aquellos que tiene el mismo número de filas y de columnas. La suma, así como la resta, de dos arrays se lleva a cabo sumando o restando sus elementos.

Page 13: Estrctura de Datos

Si A y B son dos matrices, la operación A*B se ejecuta solamente si el número de columnas de la matriz A es igual al número de filas de la matriz B. El resultado es una matriz que tiene el mismo número de filas que A y el mismo número de columnas que B.

Page 14: Estrctura de Datos

Arrays Multidimensionales Un array puede ser definido de 3

dimensiones, 4 dimensiones, hasta n dimensiones.

Estos no se usan por lo común, pero C++ permite que declare cualquier numero de dimensiones. Esto se hace enlistando el tamaño máximo de todas las dimensiones para el arreglo.

Page 15: Estrctura de Datos

Por ejemplo, la declaración int respuesta [4] [10] [6]; declara un arreglo tridimensional. El primer elemento en el arreglo es designado como respuesta [0] [0] [0] y el ultimo elemento respuesta [3] [9] [5]

Page 16: Estrctura de Datos
Page 17: Estrctura de Datos

Conclusiones

Page 18: Estrctura de Datos

18

Referencias:

Bibliográficas LUIS, JOYANES AGUILAR. (2008):

“Fundamentos De Programación: Algoritmos, Estructura de Datos y Objetos.” Mc-Graw Hill. Madrid. Páginas 258-261.

BRONSON, GARY J. (2006): “Declaracion y procesamiento de arreglos bidimensionales”. Thomson. México D.F. Páginas 620-625.