
En programación, una matriz o vector 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 lógico 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 dimensión, la
dimensión 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 más fáciles 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 sería más
adecuado utilizar una lista, ya que esta
estructura puede cambiar de tamaño fácilmente durante la ejecución de un
programa.
Índices
Todo
vector se compone de un determinado número de elementos. Cada elemento es
referenciado por la posición que ocupa dentro del vector. Dichas posiciones son
llamadas índice y siempre son correlativos. Existen tres
formas de indexar los elementos de una matriz:
·
Indexación base-cero (0):
en este modo el primer elemento del vector será la componente cero ('0') del
mismo, es decir, tendrá el índice '0'. En consecuencia, si el vector tiene 'n'
componentes la última tendrá como índice el valor 'n-1'. El lenguaje C es
un ejemplo típico que utiliza este modo de indexación.
·
Indexación base-uno (1):
en esta forma de indexación, el primer elemento de la matriz tiene el índice
'1' y el último tiene el índice 'n' (para una matriz de 'n' componentes).
·
Indexación base-n (n):
este es un modo versátil de indexación en la que el índice del primer elemento
puede ser elegido libremente, en algunos lenguajes de programación se permite
que los índices puedan ser negativos e incluso de cualquier tipo escalar (también
cadenas de caracteres).
Notación
La representación
de un elemento en un vector se suele hacer mediante el identificador del vector seguido del índice entre corchetes,
paréntesis o llaves:
Notación
|
Ejemplos
|
vector[índice_1,índice_2...,índice_N]
|
(Java, Lexico, Perl,
etc.)
|
vector[índice_0][índice_1]...[índice_N]
|
(C, C++, PHP,
etc.)
|
vector(índice_1,índice_2...,índice_N)
|
(Basic)
|
Aunque muchas veces
en pseudocódigo y en libros de matemática se representan como letras
acompañadas de un subíndice numérico que indica la posición a la que se quiere
acceder. Por ejemplo, para un vector "A":
A0, A1, A2 (vector
unidimensional)
Formas de acceso
La
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 buscándolo elemento por elemento (en contraposición, 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 rápida a ese elemento).
Para
trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por
medio de bucles.
El siguiente pseudocódigo muestra un algoritmo típico para recorrer un vector y
aplicar una función '' a cada una de las componentes del vector:
i = 0
mientras (i < longitud)
//Se realiza alguna operación con el vector en la i-ésima posición
f(v[i])
i=i+1

No hay comentarios.:
Publicar un comentario