Una Matriz Es Una Estructura de Datos Que Contiene Una Serie de Variables Del Mismo Tipo

43
Una matriz es una estructura de datos que contiene una serie de variables del mismo tipo. Desde el punto de vista del programa, una matriz (array ó vector) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz [1 ]. Desde el punto de vista lógico podemos considerarlas como un conjunto de elementos ordenados en fila. Así pues, en principio todas las matrices son de una dimensión, la dimensión principal, pero veremos que los elementos de esta fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multi-dimensionales, aunque las más fáciles de "ver" o imaginar son las de dos y tres dimensiones. Una matriz tiene las propiedades siguientes: Una matriz puede ser unidimensional , multidimensional o escalonada . El valor predeterminado de los elementos numéricos de matriz se establece en cero y el de los elementos de referencia se establece en null. Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos son tipos de referencia y se inicializan en null. Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde 0 hasta n-1. Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz. 15.1 Arreglos de Varias Dimensiones Existen conjuntos de datos que por su naturaleza son mejor representados mediante tablas o matrices multidimensionales que por vectores.

Transcript of Una Matriz Es Una Estructura de Datos Que Contiene Una Serie de Variables Del Mismo Tipo

Una matriz es una estructura de datos que contiene una serie de variables del mismo tipo. Desde el punto de vista del programa, una matriz (array vector) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz [1]. Desde el punto de vista lgico podemos considerarlas como un conjunto de elementos ordenados en fila. As pues, en principio todas las matrices son de una dimensin, la dimensin principal, pero veremos que los elementos de esta fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multi-dimensionales, aunque las ms fciles de "ver" o imaginar son las de dos y tres dimensiones.

Una matriz tiene las propiedades siguientes:

Una matriz puede ser unidimensional, multidimensional o escalonada. El valor predeterminado de los elementos numricos de matriz se establece en cero y el de los elementos de referencia se establece en null. Una matriz escalonada es una matriz de matrices y por consiguiente sus elementos son tipos de referencia y se inicializan en null. Las matrices se indizan basadas en cero: una matriz con n elementos se indiza desde 0 hasta n-1. Los elementos de una matriz pueden ser de cualquier tipo, incluido el tipo matriz.

15.1 Arreglos de Varias Dimensiones

Existen conjuntos de datos que por su naturaleza son mejor representados mediante tablas o matrices multidimensionales que por vectores.

Por ejemplo, se puede representar las calificaciones de 4 asignaturas cursadas por 6 estudiantes mediante una tabla como la que abajo se ilustra:

Columna 1 Columna 2 Columna 3 Columna 4 Fila 1 Fila 2 Fila 3 Fila 4 Fila 5

Fila 6

donde cada fila correspondera a un estudiante y cada columna a una asignatura. Cada dato individual (la calificacin de un estudiante en una asignatura dada) es un elemento de esta tabla y ocupa una celda identificable por el nmero de la fila y el nmero de la columna.

Fila 1 Fila 2 Fila 3 Fila 4 Fila 5 Fila 6

Columna 1 Columna 2 Columna 3 Columna 4 M(1,1) M(1,2) M(1,3) M(1,4) M(2,1) M(2,2) M(2,3) M(2,4) M(3,1) M(3,2) M(3,3) M(3,4) M(4,1) M(4,2) M(4,3) M(4,4) M(5,1) M(5,2) M(5,3) M(5,4) M(6,1) M(6,2) M(6,3) M(6,4)

De esta manera, cada elemento de la tabla queda completamente identificado mediante dos subndices: el primero para identificar la fila y el segundo para identificar la columna.

M( i , j )

Cada elemento de la matriz representara la calificacin de un estudiante dado en una asignatura dada. Por ejemplo:

M(4,2) = C

significa que el estudiante nmero 4 obtuvo C en la asignatura 2. La posicin del elemento dentro de la matriz corresponde a la celda sombreada en la tabla de la figura de arriba.

La matriz de arriba representa un arreglo bidimensional con (6x4) 24 elementos, donde

i = 1, 2, 3, ...,6 j = 1, 2, 3, 4

En una matriz multidimensional cada dimensin tiene su propio rango.

Con frecuencia se manejan arreglos de ms de dos dimensiones, correspondiendo un subndice a cada dimensin.

El programador debe tener presente que la memoria de las computadoras es lineal, por lo que la mayora de los compiladores almacenan en memoria los elementos de una matriz linealizandola por filas; es decir, todos los elementos de la primera fila primero, los de la segunda despus y as sucesivamente.

Vector (informtica)De Wikipedia, la enciclopedia libre Saltar a navegacin, bsqueda

Matriz unidimensional con 10 elementos.

En programacin, una matriz o vector (llamados en ingls arrays) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lgico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todas las matrices son de una dimensin, la dimensin principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las ms fciles de imaginar son los de una, dos y tres dimensiones. Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sera ms adecuado utilizar una lista, ya que esta estructura puede cambiar de tamao fcilmente durante la ejecucin de un programa.

Contenido[ocultar]

1 ndices 2 Notacin 3 Forma de acceso 4 Vectores dinmicos y estticos o 4.1 Ejemplos en C 5 Vectores multidimensionales 6 Vase tambin

[editar] ndicesTodo vector se compone de un determinado nmero de elementos. Cada elemento es referenciado por la posicin que ocupa dentro del vector. Dichas posiciones son llamadas

ndice y siempre son correlativos. Existen tres formas de indexar los elementos de una matriz:

Indexacin base-cero (0): En este modo el primer elemento del vector ser la componente cero ('0') del mismo, es decir, tendr el indice '0'. En consecuencia, si el vector tiene 'n' componentes la ltima tendr como ndice el valor 'n-1'. El lenguaje C es un ejemplo tpico que utiliza este modo de indexacin. Indexacin base-uno (1): En esta forma de indexacin, el primer elemento de la matriz tiene el indice '1' y el ltimo tiene el ndice 'n' (para una matriz de 'n' componentes). Indexacin base-n (n): Este es un modo verstil de indexacin en la que el ndice del primer elemento puede ser elegido libremente, en algunos lenguajes de programacin se permite que los ndices puedan ser negativos e incluso de cualquier tipo escalar (tambin cadenas de caracteres).

[editar] NotacinLa representacin de un elemento en un vector se suele hacer mediante el identificador del vector seguido del ndice entre corchetes, parntesis o llaves:Notacin Ejemplos

vector[ndice_1,ndice_2...,ndic (Java, Lexico, Perl, e_N] etc.) vector[ndice_1][ndice_2]... [ndice_N] (C, C++, PHP, etc.)

vector(ndice_1,ndice_2...,ndic (Basic) e_N)

Aunque muchas veces en pseudocdigo y en libros de matemtica se representan como letras acompaadas de un subndice numrico que indica la posicin a la que se quiere acceder. Por ejemplo, para un vector "A":A0,A1,A2,... (vector unidimensional)

[editar] Forma de accesoLa forma de acceder a los elementos de la matriz es directa; esto significa que el elemento deseado es obtenido a partir de su ndice y no hay que ir buscndolo elemento por elemento (en contraposicin, en el caso de una lista, para llegar, por ejemplo, al tercer elemento hay

que acceder a los dos anteriores o almacenar un apuntador o puntero que permita acceder de manera rpida a ese elemento). Para trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por medio de bucles. El siguiente pseudocdigo muestra un algoritmo tpico para recorrer un vector y aplicar una funcin 'f(...)' a cada una de las componentes del vector:i = 0 mientras (i < longitud) #Se realiza alguna operacin con el vector en la i-sima posicin f(v[i]) i=i+1 fin_mientras

[editar] Vectores dinmicos y estticosLo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo del tipo de vector y del lenguaje de programacin un vector podra tener una cantidad variable de datos. En este caso, se les denomina vectores dinmicos, en oposicin, a los vectores con una cantidad fija de memoria asignada se los denomina vectores estticos. El uso de vectores dinmicos requiere realizar una apropiada gestin de memoria dinmica. Un uso incorrecto de los vectores dinmicos, o mejor dicho, una mala gestin de la memoria dinmica, puede conducir a una fuga de memoria. Al utilizar vectores dinmicos siempre habr que liberar la memoria utilizada cuando sta ya no se vaya a seguir utilizando. Lenguajes ms modernos y de ms alto nivel, cuentan con un mecanismo denominado recolector de basura (como es el caso de Java) que permiten que el programa decida si debe liberar el espacio basndose en si se va a utilizar en el futuro o no un determinado objeto.

[editar] Ejemplos en C

Declaracin en C/C++ de un vector esttico.

int v[5]; int i; for (i=0 ; i MATRICES