Você está na página 1de 8

Algoritmos e Estruturas de dados

Matrizes Esparsas - parte 1 Prof. Dr. F abio Rodrigues de la Rocha

(Matrizes Esparsas - parte 1)

1/5

Matrizes Esparsas
Na matem atica utilizamos matrizes para v arios prop ositos e podemos realizar algumas opera c oes sobre matrizes (multiplica c ao de um escalar por matriz, calcular a diagonal, multiplicar duas matrizes, etc). 1 4 0 2 4 3

1 # include < stdio .h > 2 3 int main ( void ) { 4 int M [2][3]={{1 , 4 , 0} , { -2 , 4 , 3}}; 5 int linha , coluna ; 6 7 for ( linha =0; linha <2; linha ++) { 8 for ( coluna =0; coluna <3; coluna ++) 9 10 } 11 return 0; 12 } (Matrizes Esparsas - parte 1)

printf ( " %

d " ,M [ linha ][ coluna ]) ; printf ( " \ n " ) ;

2/5

Matrizes Esparsas

Uma matriz e dita esparsa quando a maioria de seus elementos s ao iguais a zero. 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0

Quanta mem oria ocupa a matriz acima quando representada em C ?

(Matrizes Esparsas - parte 1)

3/5

Matrizes Esparsas

Como armazenar uma matriz esparsa em C gastando pouca mem oria ?

(Matrizes Esparsas - parte 1)

4/5

Matrizes Esparsas

Existem algumas alternativas.... Vetor de ponteiros para linhas apenas;

(Matrizes Esparsas - parte 1)

5/5

Matrizes Esparsas

Existem algumas alternativas.... Vetor de ponteiros para linhas apenas; Vetor de ponteiros para colunas apenas;

(Matrizes Esparsas - parte 1)

5/5

Matrizes Esparsas

Existem algumas alternativas.... Vetor de ponteiros para linhas apenas; Vetor de ponteiros para colunas apenas; Utilizar simultaneamente ambas;

(Matrizes Esparsas - parte 1)

5/5

Matrizes Esparsas

Existem algumas alternativas.... Vetor de ponteiros para linhas apenas; Vetor de ponteiros para colunas apenas; Utilizar simultaneamente ambas; Utilizar listas ao inv es de vetores. Cada elemento da lista aponta para a lista de linha/coluna

(Matrizes Esparsas - parte 1)

5/5

Você também pode gostar