Skip to content

rafaelxo/AEDS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

225 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📘 AEDS — Algoritmos e Estruturas de Dados

Top Language Repo Size Stars Last Commit

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


📚 Sobre

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

🗂️ Estrutura do Repositório

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

💻 Conteúdos Implementados

📌 AEDS I - Fundamentos (C & C++)

  • 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

📌 AEDS II - Estruturas de Dados (C & Java)

🔹 Laboratórios

  • 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

🔹 Trabalhos Práticos (TPs)

  • 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

🔹 Provas Práticas

  • 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

🛠️ Tecnologias Utilizadas

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

Ferramentas

  • Compiladores: GCC, G++, JDK
  • IDEs: VS Code, Code::Blocks, IntelliJ IDEA
  • Controle de Versão: Git & GitHub

📖 Materiais de Estudo

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

👤 Autor

Rafael
GitHub


📄 Licença

Este repositório é destinado exclusivamente a fins educacionais e acadêmicos.


⭐ Agradecimentos

Se este conteúdo foi útil para você, considere dar uma ⭐ no repositório!


Desenvolvido durante o curso de Ciência da Computação

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published