Repositório com códigos desenvolvidos durante meu aprendizado na disciplina de Estrutura de Dados e Algoritmos na UFPB (Universidade Federal da Paraíba).
Os exercícios aqui presentes são provenientes de:
- atividades realizadas após as aulas
- listas propostas pelo professor
- exercícios do livro Introdução a Estruturas de Dados de Waldemar Celes, Renato Cerqueira e José Lucas Rangel
O objetivo deste repositório é servir como apoio aos estudos, prática de programação e consolidação dos conceitos fundamentais da disciplina.
Os códigos estão organizados por aulas e por temas. Cada pasta contém um problema específico ou um conjunto de exercícios relacionados.
| Pasta | Descrição |
|---|---|
aula1/tabela-ascii |
Imprime a tabela ASCII |
aula2/eh_primo |
Verifica se um número é primo |
aula2/esfera |
Calcula área e volume de uma esfera |
aula2/fibonacci |
Calcula termos da sequência de Fibonacci |
aula2/leibniz |
Aproximação de π pela série de Leibniz |
aula2/ponto_retangulo |
Verifica se um ponto está dentro de um retângulo |
aula2/raizes_equacao |
Calcula raízes de equações do segundo grau |
aula2/soma_impares |
Soma números ímpares de 1 até N |
aula3 |
Exercícios de leitura, escrita e modificação de arquivos |
aula4/matrizes |
Verifica se matriz é simétrica |
aula4/strings |
Conta vogais em uma string |
aula4/vetores |
Exercícios com vetores: avaliação, derivada, inversão, contagem de negativos e pares |
aula5 |
Exercícios básicos com listas simplesmente encadeadas |
aula6 |
Exercícios de lista simulada com enfoque em listas ordenadas e listas circulares |
aula10 |
Implementação de lista duplamente encadeada (lista_encadeada.h e lista_encadeada.c) |
aula11 |
Teoria e conceitos de listas circulares e listas heterogêneas (listas_circulares.md e listaheterogenea.md) |
aula12 |
Implementação de Pilha (pilha.h e pilha.c) e Calculadora Pós-fixada (calculadora_pos_fixada.c) |
aula13 |
Implementação de Fila estática circular (fila.h e fila.c) e Verificação de Palíndromo (eh_palindromo.c) |
extra |
Exercícios extras de fixação (maior valor, mescla sem duplicatas, matriz tabuada e soma de elementos) |
prova |
Exercícios e soluções de questões práticas de provas e simulados |
A maior parte dos exercícios está organizada em múltiplos arquivos:
main.cou*_main.cContém a funçãomain, entrada/saída de dados e chamadas para as funções do módulo.*.cImplementa a lógica das operações e funções.*.hDeclara interfaces para funções e permite separar a implementação da definição.
Nem todos os exercícios exigem cabeçalhos; alguns programas menores são implementados em um único arquivo .c.
O repositório contém exercícios sobre:
- estruturas básicas de controle em C
- operações com vetores e matrizes
- processamento de strings
- cálculos matemáticos e numéricos
- validação de números primos
- manipulação de arquivos simples
- ordenação básica de dados
- implementação de listas encadeadas (simples, duplas, circulares, simuladas e heterogêneas) com inserção ordenada
- estruturas de dados lineares: Pilhas (LIFO) e Filas (FIFO) com suas respectivas operações básicas
- avaliação de expressões matemáticas (calculadora pós-fixada) e verificação de palíndromos (utilizando filas)
- Conceitos básicos de C
- Manipulação de arquivos
- Alocação dinâmica de memória
- Operações com vetores
- Operações com matrizes
- Processamento de strings
- Modularização com funções e headers
- Ponteiros básicos
- Listas ordenadas
- Listas circulares
- Outras listas (Listas encadeadas simples, duplas e heterogêneas)
- Pilhas (Estrutura de dados)
- Filas
- Recursão
- Outras estruturas de dados avançadas: árvores e grafos
- Algoritmos de ordenação avançados
Obs: esta lista reflete o conteúdo atual do repositório e será atualizada conforme novos exercícios forem adicionados.
Alguns diretórios contêm executáveis gerados localmente que não fazem parte do código-fonte principal.
Os códigos estão sujeitos a refatoração e melhoria conforme o avanço na disciplina.