Skip to content

rhaynermartins/AEDS-II

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

254 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 AEDS II — Algoritmos e Estruturas de Dados II

Top Language Repo Size Stars Last Commit

Repositório acadêmico com exercícios, laboratórios, trabalhos práticos e materiais de Algoritmos e Estruturas de Dados II

Desenvolvido em C e Java durante a disciplina AEDS II


📚 Sobre

Este repositório reúne implementações e materiais produzidos ao longo da disciplina de Algoritmos e Estruturas de Dados II (AEDS II). O conteúdo está organizado para apoiar o estudo de análise de algoritmos, ordenação, pesquisa, estruturas lineares, estruturas flexíveis e árvores.

O objetivo é manter um registro acadêmico claro das atividades práticas da disciplina, incluindo exercícios de laboratório, preparação para provas, trabalhos práticos e slides de apoio.


🗂️ Estrutura do Repositório

AEDS-II/
│
├── 📁 Exercicios/
│   ├── Labs/                    # Exercícios de laboratório em C e Java
│   └── PreProva/                # Exercícios de revisão e preparação para provas
│
├── 📁 MyIO/
│   └── MyIO.java                # Biblioteca auxiliar de entrada e saída utilizada em Java
│
├── 📁 Slides/
│   ├── PROVA 1/                 # Materiais sobre somatórios e análise de complexidade
│   └── PROVA 2/                 # Materiais sobre árvores binárias
│
└── 📁 TPs/
    ├── TP1/                     # Strings, recursividade e problemas introdutórios
    ├── TP2/                     # Modelagem, pesquisa, ordenação e estruturas lineares
    │   └── TESTES/              # Arquivos e bases de teste do TP2
    └── TP3/                     # Ordenação parcial, estruturas flexíveis, matrizes e árvores

💻 Conteúdos Implementados

📌 Exercícios e Laboratórios

  • Implementações em C e Java para fixação dos conteúdos da disciplina
  • Exercícios de laboratório envolvendo estruturas, ponteiros, células e árvores
  • Atividades de preparação para provas com problemas de lógica e estruturas de dados

📌 Trabalhos Práticos (TPs)

  • TP1: ciframento, alteração aleatória, validação de strings, inversão, soma de dígitos, anagramas, substrings e recursividade
  • TP2: modelagem de dados, leitura de CSV, pesquisa sequencial e binária, algoritmos de ordenação, lista, pilha e fila circular
  • TP3: seleção, inserção, quicksort e heapsort parciais, lista flexível, pilha flexível, fila flexível, lista dupla, matriz dinâmica e árvore binária

📌 Estruturas e Algoritmos

  • Análise de complexidade e somatórios
  • Algoritmos de ordenação: inserção, seleção, merge sort, quicksort, heap sort e counting sort
  • Algoritmos de pesquisa: sequencial e binária
  • Estruturas lineares: listas, pilhas e filas
  • Estruturas flexíveis com alocação dinâmica
  • Matrizes dinâmicas com células encadeadas
  • Árvores binárias e operações de inserção, pesquisa, caminhamento e remoção

🛠️ Tecnologias Utilizadas

Tecnologia Uso Principal
🟦 C Ponteiros, alocação dinâmica, structs e estruturas de dados
Java Orientação a objetos, modelagem, leitura de dados e estruturas dinâmicas
📄 CSV Bases de dados utilizadas em trabalhos práticos

Ferramentas

  • GCC para compilação dos programas em C
  • JDK para compilação e execução dos programas em Java
  • Git & GitHub para versionamento do repositório
  • VS Code como ambiente de desenvolvimento

▶️ Como Compilar e Executar

Programas em C

gcc TPs/TP1/q4inversao.c -o q4inversao
./q4inversao

Programas em Java

Compile e execute informando o diretório do arquivo no classpath:

javac TPs/TP3/q9matrizDinamica.java
java -cp TPs/TP3 q9matrizDinamica

Os exercícios que utilizam MyIO dependem da biblioteca em MyIO/MyIO.java. Nesses casos, confira se o arquivo do exercício está compatível com o pacote/import da biblioteca antes da compilação.

Alguns trabalhos utilizam arquivos auxiliares, como TPs/TP2/restaurantes.csv. Nesses casos, execute o programa considerando o caminho esperado pelo código-fonte.


📖 Materiais de Estudo

Os materiais teóricos estão organizados na pasta Slides/:

  • Slides/PROVA 1/: noções de complexidade, somatórios e fundamentos de análise de algoritmos
  • Slides/PROVA 2/: árvores binárias, inserção, pesquisa, caminhamento, remoção e implementações em C/C++

👤 Autor

Rhayner Martins
GitHub


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

About

This repository contains all the content and exercises for the ADS course.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors