Aula 04

Matrizes e Mapeamento Linear na Memória

Estruturas de Dados Avançadas

Objetivos Didáticos

  • Mapeamento bidimensional em espaço linear, ordem por linhas (Row-Major Order), matrizes dinâmicas como ponteiros para ponteiros vs vetor unidimensional linearizado.
  • Eficiência assintótica de tempo e espaço
  • Implementação em C com integridade de memória

Conceitos Fundamentais

  • Row-Major Order
  • Localidade Espacial de Cache
  • Matriz Linearizada
  • Ponteiro de Ponteiros
  • Eficiência de Acesso

Estrutura de Implementação

// Matriz linearizada em vetor contíguo (Cache Friendly)
typedef struct {
    int* dados;
    int linhas;
    int colunas;
} MatrizLinear;

int matriz_obter(MatrizLinear* m, int r, int c) {
    // Mapeamento Row-Major: index = r * total_colunas + c

Próximos Passos

Acesse os Exercícios com Gabarito e o Projeto Prático.