Repositório acadêmico contendo exercícios, trabalhos práticos e provas de Algoritmos e Estruturas de Dados
Desenvolvido em C, C++ e Java durante as disciplinas AEDS I e AEDS II
Este repositório documenta minha jornada nas disciplinas de Algoritmos e Estruturas de Dados (AEDS), contendo implementações de estruturas clássicas, resoluções de exercícios, trabalhos práticos (TPs) e provas realizadas ao longo do curso.
O material está organizado em duas grandes seções:
- AEDS1: Fundamentos de programação em C e C++
- AEDS2: Estruturas de dados avançadas em C e Java
AEDS/
│
├── 📁 AEDS1-C&CPP/ # Fundamentos de Programação (AEDS I)
│ ├── basicos/ # Conceitos básicos de C/C++
│ ├── classe/ # Programação orientada a objetos
│ ├── condicionais/ # Estruturas de decisão (if, switch)
│ ├── repetição/ # Estruturas de repetição (for, while, do-while)
│ ├── modularização/ # Funções e procedimentos
│ ├── vetores/ # Arrays unidimensionais
│ ├── matrizes/ # Arrays multidimensionais
│ ├── string/ # Manipulação de strings
│ ├── laboratórios/ # Exercícios práticos de laboratório
│ └── exercicios_rosi/ # Exercícios da professora Rosi
│
├── 📁 AEDS2-C&JAVA/ # Estruturas de Dados Avançadas (AEDS II)
│ ├── MyIO/ # Biblioteca de I/O customizada
│ ├── bases/ # Fundamentos e estruturas base
│ ├── classe/ # Classes e objetos em Java
│ ├── laboratórios/ # Práticas de laboratório
│ ├── práticas/ # Provas práticas (Prova 1, 2 e 3)
│ └── tps/ # Trabalhos Práticos (TP1 - TP8)
│ ├── tp1/ # Manipulação de strings e arquivos
│ ├── tp2/ # Classes, POO e validações
│ ├── tp3/ # Algoritmos recursivos
│ ├── tp4-base/ # Manipulação de datas e parsing
│ ├── tp5/ # Algoritmos de ordenação
│ ├── tp6/ # Listas, pilhas e filas
│ ├── tp7/ # Árvores (binária e alvinegra)
│ └── tp8/ # Tabelas hash com rehashing
│
└── 📁 MATERIAIS/ # Materiais de Apoio
├── Fundamentos da programação de computadores. pdf
└── unidade00g_nivelamento_IntroduçãoAoJava.pdf
- Conceitos Básicos: Variáveis, tipos de dados, operadores
- Estruturas de Controle: Condicionais e laços de repetição
- Modularização: Criação e uso de funções
- Arrays: Vetores e matrizes
- Strings: Manipulação e processamento de cadeias de caracteres
- Classes em C++: Introdução à POO
- Contagem de maiúsculas (iterativo e recursivo)
- Combinação e espelho de strings
- Algoritmos de grid e ordenação
- QuickSort (diferentes estratégias de pivô: primeiro, último, aleatório, mediana)
- Junção de listas encadeadas
- Árvores Alvinegras
- TP1: Manipulação de strings, arquivos e biblioteca MyIO
- TP2: Classes, objetos e validações (vogais, consoantes, inteiros, reais)
- TP3: Algoritmos recursivos (inversão de strings, soma de dígitos)
- TP4: Manipulação de datas e parsing de strings
- TP5: Algoritmos de ordenação e análise de complexidade
- TP6: Estruturas lineares (listas, pilhas e filas)
- TP7: Árvores binárias e árvores alvinegras
- TP8: Tabelas hash com rehashing
- Prova 1: Lógica e estruturas básicas (tênis, placas, experiências, diretores)
- Prova 2: Ordenação e estruturas lineares (van, bakugan, bingo)
- Prova 3: Pilhas, filas, hash e controle de aviões
| Linguagem | Uso Principal |
|---|---|
| 🟦 C | Estruturas de dados, ponteiros, alocação dinâmica |
| 🟪 C++ | POO, classes, sobrecarga de operadores |
| ☕ Java | Orientação a objetos, collections, estruturas avançadas |
- Compiladores: GCC, G++, JDK
- IDEs: VS Code, Code::Blocks, IntelliJ IDEA
- Controle de Versão: Git & GitHub
O repositório inclui apostilas e materiais teóricos na pasta MATERIAIS/:
- Fundamentos da programação de computadores (C/C++/Java)
- Introdução ao Java e nivelamento
Este repositório é destinado exclusivamente a fins educacionais e acadêmicos.
Se este conteúdo foi útil para você, considere dar uma ⭐ no repositório!
Desenvolvido durante o curso de Ciência da Computação