Você está na página 1de 2

Relatório Matrizes Esparsas

Diego Damasceno de Lima - 428591

Implementação

1. Construtor
Cria os nós sentinelas das colunas e das linhas. Utilizando duas estruturas de
repetição paralelas.

2. Insert()
Para a inserção, além da verificação de validade dos dados, é verificado dois
casos. O primeiro é para caso o local da inserção já tenha valor, utilizando método
get para verificação do espaço, utilizando duas estruturas de repetição paralelas
para chegar na posição de linha e coluna da inserção. Caso o valor seja novo, as
estruturas de repetição paralelas vão até a última posição antes da posição do valor
a ser inserido, tanto para linha como para a coluna, para atualizar para onde os
ponteiros apontam.
Complexidade: O(n).

3. Get()
Para pegar o valor de dado posição, duas estruturas de repetição paralelas,
então é verificado se as linha passada pelo parâmetro é diferente da linha do nó
chegado ou se a coluna do nó é diferente da coluna passada, se sim retorno zero.
Caso não seja diferente retorna o valor do nó.
Complexidade: O(n).

4. Sum()
Antes é verificado se a ordem das matrizes passadas coincidem, caso não é jogado
um runtime error. Utiliza dois for() um dentro do outro, utilizando os iteradores de cada
for() para pegar a posição e pegar os valores com o método get(), então somá los e
inseri-los em outra matriz instanciada dentro do método, no fim das estruturas é
retornado essa matriz.
Complexidade: O(n2).
5. operator=
Manipulação do operador “=”, para que a matriz receba outra, utilizando duas
estruturas de repetição, uma dentro da outra, percorrendo a matriz e alterando os
dados.

6. Limpar()
Método auxiliar para deleção de nós. Baseado nos outros métodos de
suporte já feitos em aulas. Primeira estrutura de repetição é o que define quando
todos os nós estão apagados. A segunda estrutura, dentro da primeira estrutura vai
até o nó mais à direita, a terceira estrutura de repetição, também dentro da primeira,
vai apagando os dados da linha.

7. Destrutor
Utiliza o método limpar, e apaga o nó cabeça.

Testes
● Deleção de nós
● Substituição de valores
● Inserção com matriz vazia
● Inserção entre nós de valores
● Soma com matrizes cheias
● Soma com células faltantes
● Soma com uma das matrizes vazia
● Soma de matrizes vazias

Dificuldades
● Grande dificuldade na manipulação de arquivos, também na biblioteca.
● Dificuldade na lógica da multiplicação de matrizes, algoritmo ainda foi
implementado, porém não funciona e não compreendi a razão.
.

Referências
Foi utilizado exercícios feitos anteriormente como base.

Você também pode gostar