/EstruturasDeDados

Atividades de Estruturas de Dados em C++

Primary LanguageC++

Estruturas de Dados em C++ - Universidade Federal do Ceará

Este repositório contém o material da disciplina Estruturas de Dados em C++, ministrada pelo professor Pablo Maycon na Universidade Federal do Ceará. A disciplina é focada em conceitos e implementações de estruturas de dados fundamentais, com avaliações baseadas em provas.

Conteúdos Programáticos

1. Estruturas de Dados Básicas

  • Pilha: Implementação de estruturas LIFO (Last In, First Out), com operações de empilhar e desempilhar.
  • Fila: Estruturas FIFO (First In, First Out), com inserções no final e remoções no início.
  • Dicionário: Estrutura que mapeia pares chave-valor, permitindo acesso rápido aos elementos por meio de uma chave.
  • Conjunto: Estrutura que armazena elementos únicos, sem duplicatas, e suporta operações como inserção, remoção e verificação de pertinência.

2. Estruturas Dinâmicas

  • Ponteiros para vetores: Uso de ponteiros para gerenciar arrays dinâmicos, permitindo alocação e realocação de memória durante a execução.
  • Listas Encadeadas: Estruturas onde cada elemento contém um ponteiro para o próximo, permitindo inserções e remoções eficientes, principalmente no início ou no meio da lista.

3. Estruturas de Busca Rápida

  • Tabela de Dispersão (Hash Table): Estrutura que associa chaves a valores de forma eficiente, utilizando funções hash para distribuir os elementos.
  • Árvore Binária: Estrutura de dados hierárquica em que cada nó possui até dois filhos, facilitando a organização e busca de dados.

4. Estruturas de Busca Balanceadas

  • Árvore AVL: Estruturas como árvores AVL mantêm uma forma balanceada da árvore binária para garantir operações de busca, inserção e remoção com eficiência logarítmica.
  • Montes Binários: São estruturas de dados baseadas em árvores binárias que atendem a propriedades específicas, frequentemente utilizadas para implementar filas de prioridade.