Matrizes Esparsa

324 palavras 2 páginas
Georgya

Estrutura de Dados II

UNIFEV

Estrutura de Dados II
Eng. de Computação – 4º período – Noturno
2012

MATRIZES ESPARSAS
Objetivos:
Consiste em concretizar os conceitos de Listas implementadas por através de uma aplicação: Matrizes esparsas.

encadeamento

Descrição:
Matrizes esparsas são matrizes nas quais a maioria das posições é preenchida por zeros.
Para essas matrizes, podemos economizar um espaço significativo de memória se apenas os termos diferentes de zero forem armazenados. As operações usuais sobre essas matrizes (somar, multiplicar, inverter, pivotar) também podem ser feitas em tempo muito menor se não armazenarmos as posições que contêm zeros.
Uma maneira eficiente de apresentar estruturas com tamanho variável e/ou desconhecido é com o emprego de alocação encadeada, utilizando listas. Vamos usar essa representação para armazenar as matrizes esparsas. Cada coluna da matriz será representada por uma lista linear circular com uma célula cabeça. Da mesma maneira, cada linha da matriz também será representada por uma lista linear circular com uma célula cabeça.

A representação da matriz A pode ser vista na Figura 1. Com essa representação, uma matriz esparsa m x n com r elementos diferentes de zero gastará (m + n + r) células. É bem verdade que cada célula ocupa vários bytes na memória; no entanto, o total de memória usado será menor do que as m x n posições necessárias para representar a matriz toda, desde que r seja suficientemente pequeno.

EXEMPLOS:
Declarando a Matriz: typedef struct Celula {
Celula direita, abaixo; int linha, coluna; double valor;
} Celula;
Matriz (VOID MAIN) void main(void)
{
TMatriz A, B,C;
A.leMatriz(); A.imprimeMatriz();
B.leMatriz(); B.imprimeMatriz();
C = somaMatriz(A,B); C.imprimeMatriz();
B.leMatriz();
A.imprimeMatriz();B.imprimeMatriz();
C = somaMatriz(A,B); C.imprimeMatriz();
C = multiplicaMatriz(A,B); C.imprimeMatriz();
C = multiplicaMatriz(B,B);

Relacionados

  • Matrizes Esparsas
    1044 palavras | 5 páginas
  • Algoritmos e Matrizes Esparsas
    275 palavras | 2 páginas
  • Projeto Computacional
    2727 palavras | 11 páginas
  • esparsas
    576 palavras | 3 páginas
  • Matrizes
    1561 palavras | 7 páginas
  • Métodos numéricos resolução de sistemas de equações lineares renato s. silva, regina c. almeida
    1244 palavras | 5 páginas
  • Silvan
    1486 palavras | 6 páginas
  • PROGRAMAÇÃO
    3966 palavras | 16 páginas
  • Codigo java
    3354 palavras | 14 páginas
  • MATLAB
    5174 palavras | 21 páginas