Este repositório é dedicado às aulas, exercícios práticos e trabalhos desenvolvidos durante a disciplina Algoritmos e Programação II, ministrada pelo professor Pedro Hokama na Universidade Federal de Itajubá (UNIFEI).
A proposta deste repositório é reunir todo o material produzido ao longo da disciplina, incluindo códigos-fonte, atividades práticas, anotações e trabalhos avaliativos. Ele serve como registro de aprendizado e como fonte de consulta para futuras disciplinas e projetos
Durante o curso, revisamos a linguagem Python e estudamos estruturas de dados simples como listas, tuplas, dicionários e conjuntos. A partir daí, avançamos para a implementação de estruturas mais complexas, como:
- 🗃️ Tabelas Hash
- Métodos de resolução de colisões:
- ➡️ Linear Probing
- 🔢 Quadratic Probing
- 🔑 Double Hashing
- ⛓ Separate Chaining
No conceito de algoritmos de ordenação, foram vistos:
- 📥 Insertion-Sort
- 🏃♂️➡️ Quick-Sort
- 🔀 Merge-Sort
- 👨💻 Tim-Sort
- 🛗 Heap-Sort
- 🔢 Counting-Sort
- 🪣 Bucket-Sort
- 🧮 Radix-Sort
No ramo de árvores balanceadas foram vistas:
- 🌳 Árvore Rubro-Negra Esquerdistas
- 🌳 Árvore AVL
E também estudamos um tipo de árvore eficiente quando se trata de leituras e gravações em disco:
- 🌳 Árvore B
- Linguagens: Python
- Bibliotecas:
random,sys,time
O repositório está organizado em pastas:
- 📄 Aulas: Contém os códigos de exemplo abordados em aula, explicados e comentados.
- 🧪 Exercícios: Aqui estão os exercícios de prática que ajudam na fixação dos conceitos.
- 📌 Trabalhos: Pasta com os trabalhos realizados ao longo da disciplina, com códigos detalhados e bem comentados.
🎓 Disciplina concluída com êxito. Este repositório serve como registro da minha evolução e aprendizado na disciplina de Algoritmos e Programação II.