Professional Documents
Culture Documents
DEFINICIN
Sea I, J: conjuntos de ndices o posiciones
Sea V un conjunto finito de valores
Un arreglo bidimensional es una aplicacin (funcin) T,
de I x J en V.
T: IxJ V
I, J es el rango de ndices, V rango de valores y T una
funcin que hace corresponder a cada par (i, j) I x J un
valor en V.
I est definido en [1, M] y corresponde al orden de la fila.
J est definido en [1, N] y corresponde al orden de la
columna.
T es del tamao M x N
ARREGLO BIDIMENSIONAL (MATRIZ)
Convenio notacional
Los elementos de un arreglo bidimensional A, pueden
denotarse:
Por medio de subndices
A11 , A21 , A31 , ... An1
Por medio de parntesis o corchetes
A(1,1), A(2, 1), A(3, 1), ... A(n,1)
A[1,1], A [2, 1], A [3, 1], ... A [n,1]
Independientemente los nmeros i, j reciben el nombre de
ndices y Aij , A(i, j) o A[i, j] indica la variable
subndicada.
ARREGLO BIDIMENSIONAL (MATRIZ)
Entrada: A matriz
M nmero de filas
N nmero de columnas
ARREGLO BIDIMENSIONAL (MATRIZ)
Recorrido por filas
MATRICES TRIANGULARES
4 0 0 0 0
3 -5 0 0 0
1 0 6 0 0
-7 8 -1 3 0
5 -2 0 2 -8
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
MATRICES TRIANGULARES
Una matriz triangular puede almacenarse en un vector V,
de modo que solo se guarde en el vector los elementos
significativos (distintos de cero).
En el vector V se han almacenado un elemento de la fila
uno, seguido de dos elementos de la fila dos y as
sucesivamente hasta llegar a los M elementos de la fila M.
El nmero de elementos que es necesario recorrer antes de
alcanzar al primer elemento de la fila i, corresponde al
nmero de elementos de las filas 1 hasta i-1, es decir
1+2+3+...+i-1. La sumatoria es igual a i*(i-1)/2
La funcin que permite calcular la posicin del elemento
A(i,j) es: F(i, j) = (i*(i-1)/2) + j para i j
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
MATRICES TRIANGULARES
Se puede separar espacio para un vector de m*(m+1)/2
elementos, ahorrndose la mitad del espacio requerido
para todos los elementos de la matriz A(1:M, 1:M).
Acceso a un elemento de la matriz triangular
Entrada : V, I, J
Salida : V(Pos) Pos = (I*(I-1)/2)+J
en el nombre de la funcin Valor
Precondicin A debe ser cuadrada
CASOS DE MATRICES CON CARACTERSTICAS
PARTICULARES
Acceso a un elemento de la matriz triangular
MATRIZ SIMTRICA
1 3 -7 5 -2
3 6 0 -1 4
-7 0 2 3 0
5 -1 3 -4 1
-2 4 0 1 5
Accin Verifica_Matriz_Simtrica(A, M, N)
Inicio Si (M N)
Escribir matriz no es cuadrada
Sino
simtrica verdad
I 1
Mientras (I < N simtrica)
J I+1
Mientras (J N simtrica)
Si (A(I, J) A(J, I))
simtrica falso
Finsi
J J+1
FinMientras
I I+1
FinMientras
Si (simtrica)
Escribir matriz es simtrica
Sino
Escribir matriz no es simtrica
FinSi
Fin
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
Matrices Huecas
Una matriz es hueca si la mayora de sus elementos son
ceros. Cuando una matriz es hueca es conveniente
almacenar en una estructura solo los datos significativos
(diferentes de cero). Los elementos diferentes de cero son
representados en una lista y son almacenados por filas.
Para accesar a un elemento es necesario recorrer la lista.
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
Primera representacin de matrices huecas
Cada elemento diferente de cero es representado por la
terna (ndice de fila, ndice de columna, valor del
elemento)
Esta representacin es til si permite ahorrar espacio con
respecto a la representacin habitual, porque el tiempo de
acceso es por lo general ms largo a causa del recorrido
obligatorio de la lista para accesar a un elemento
determinado. Por lo tanto, el nmero de elementos
diferentes de cero debe ser inferior a M*N/3 para una
matriz A(1:M, 1:N)
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
Primera representacin de matrices huecas
Por ejemplo: la matriz A:
0 7 0 9
3 0 0 0
0 4 6 0
8 0 0 1
Es representada por:
(1,2,7) (1,4,9) (2,1,3) (3,2,4) (3,3,6) (4,1,8) (4,4,1)
fila 1 fila 2 fila 3 fila 4
Acceso a un elemento de una matriz hueca
Entrada : V, I, J, Noceros
Salida : Valor del elemento I, J de la matriz
Funcin Valor(V, I, J, Noceros): tipo del elemento
Inicio
K 1
Mientras (V(K) < I K < 3*(Noceros - 1)) // bsqueda de la fila
K K+3
FinMientras
Mientras (V(K) = I V(K+1) < J K< 3*(Noceros-1))
// bsqueda de elemento en la fila I
K K+3
FinMientras
Si (V(K) = I V(K+1) = J)
Valor V(K+2)
Sino
Valor 0
FinSi
Fin
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
Segunda Representacin de matrices huecas
En esta representacin no es necesario repetir el ndice de
fila para cada elemento de una fila.
Es suficiente para cada fila anteponer el nmero de
elementos diferentes de 0 de cada fila (eventualmente
cero). De esta manera se economiza espacio y se acelera el
recorrido de la lista.
Cada elemento diferente de cero es representado por un
par (ndice de columna, valor del elemento).
La matriz A del ejemplo anterior es representada por:
2 (2,7) (4,9) 1 (1,3) 2 (2,4) (3,6) 2(1,8) (4,1)
fila 1 fila 2 fila 3 fila 4
CASOS DE MATRICES CON
CARACTERSTICAS PARTICULARES
Segunda Representacin de matrices huecas