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.
- 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.
- 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.
- 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.
- Á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.