Skip to content

About

Este repositório documenta minha jornada de 55 dias no bootcamp de Estruturas de Dados e Algoritmos. Como desenvolvedor Backend Python/Django em transição para Engenharia de IA, este desafio é fundamental para fortalecer as bases que sustentam sistemas inteligentes e escaláveis.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Challenge Badge

📊 Algorithm & Data Structures

Uma jornada de 55 dias dominando Estruturas de Dados e Algoritmos

GitHub Python Status Progress


🎯 Sobre o Projeto

Este repositório documenta minha jornada de 55 dias no bootcamp de Estruturas de Dados e Algoritmos. Como desenvolvedor Backend Python/Django em transição para Engenharia de IA, este desafio é fundamental para fortalecer as bases que sustentam sistemas inteligentes e escaláveis.

💡 "Algoritmos são a linguagem secreta que separa bons desenvolvedores de desenvolvedores excepcionais."


📚 Estrutura do Repositório

📁 Algorithm and Data Structured/
├── 📁 docs/              # Documentação adicional
├── 📁 src/               # Código fonte por dia
│   ├── 📁 Day 01/        # Arrays & Big O
│   ├── 📁 Day 02/        # Recursion
│   └── ...
├── 📄 .gitignore
├── 📄 LICENSE
└── 📄 README.md

🗓️ Roadmap Completo - 55 Dias

📦 Fase 1: Fundamentos (Day 1)

Dia Tópico Problemas Status
01 Arrays & Big O Sorted Squared Array, Monotonic Array ✅

🔄 Fase 2: Recursion (Days 2-3)

Dia Tópico Problemas Status
02 Recursion K-th Symbol in Grammar, Josephus Problem ✅
03 Recursion Tower of Hanoi, Power Sum ✅

🔙 Fase 3: Backtracking (Days 4-8)

Dia Tópico Problemas Status
04 Backtracking Permutations, Permutations 2 ✅
05 Backtracking Subsets, Subsets 2 ⏳
06 Backtracking Combinations, Combinations Sum 1 ⏳
07 Backtracking Combinations Sum 2, Combinations Sum 3 ⏳
08 Backtracking Sudoku Solver, N Queens ⏳

📈 Fase 4: Dynamic Programming (Days 9-18)

Dia Tópico Problemas Status
09 DP - Basics Fibonacci, Climbing Stairs ⏳
10 DP - Stairs Min Cost Climbing Stairs, Tribonacci ⏳
11 DP - Knapsack 01 Knapsack, Unbounded Knapsack ⏳
12 DP - Subsets Target Sum, Partition Equal Subset Sum ⏳
13 DP - Strings LCS, Edit Distance ⏳
14 DP - Sequences LIS, Max Length of Pair Chain, Russian Doll ⏳
15 DP - Palindromes Palindromic Substrings, Longest Palindromic ⏳
16 DP - Partitioning Palindrome Partitioning 1 & 2 ⏳
17 DP - Advanced Word Break, Matrix Chain Multiplication ⏳
18 DP - Kadane's Max Subarray, Maximum Product Subarray ⏳

🎯 Fase 5: Greedy Algorithms (Days 19-23)

Dia Tópico Problemas Status
19 Greedy Fractional Knapsack, Non-overlapping Intervals ⏳
20 Greedy Jump Game 1, Min Arrows to Burst Balloons ⏳
21 Greedy Two City Scheduling, Boats to Save People ⏳
22 Greedy Task Scheduler, Largest Number ⏳
23 Greedy Gas Stations, Jump Game 2 ⏳

🔤 Fase 6: Arrays, Hash Tables & Strings (Days 24-27)

Dia Tópico Problemas Status
24 Arrays Rotate Array, Container with Most Water ⏳
25 Hash Tables Two Sum, Isomorphic Strings ⏳
26 Strings Non-Repeating Character, Palindrome ⏳
27 Strings Longest Unique Substring, Group Anagrams ⏳

🔍 Fase 7: Searching & Sorting (Days 28-32)

Dia Tópico Problemas Status
28 Searching Binary Search, Search in Rotated Sorted Array ⏳
29 Searching Find First and Last Position, Search in 2D Array ⏳
30 Sorting Bubble Sort, Insertion Sort ⏳
31 Sorting Selection Sort, Merge Sort ⏳
32 Sorting Quick Sort, Radix Sort ⏳

🔗 Fase 8: Linked Lists (Days 33-36)

Dia Tópico Problemas Status
33 Singly Linked Lists Construct SLL, Delete Duplicates ⏳
34 Singly Linked Lists Reverse SLL, Cycle Detection ⏳
35 Singly Linked Lists Find Duplicate, Add 2 Numbers ⏳
36 Doubly Linked Lists DLL Remove/Insert, DLL Remove All ⏳

📚 Fase 9: Stacks & Queues (Days 37-38)

Dia Tópico Problemas Status
37 Stacks Construct Stack, Reverse Polish Notation ⏳
38 Queues Construct Queue, Implement Queue with Stack ⏳

🌳 Fase 10: Binary Trees (Days 39-50)

Dia Tópico Problemas Status
39 Binary Trees Construct BST, Traversal Techniques ⏳
40 Traversal Pre-order & In-order Iterative ⏳
41 Traversal Post-order Iterative, Path Sum 2 ⏳
42 Construction Build Tree from Pre/In-order & In/Post-order ⏳
43 Level Order Level Order Traversal, Left/Right View ⏳
44 Level Order Level Order 2, ZigZag Traversal ⏳
45 Advanced Vertical Order Traversal, Sum Root to Leaf ⏳
46 Tree Operations Invert Tree, Diameter of Tree ⏳
47 BST Convert Sorted Array to BST, Validate BST ⏳
48 BST Lowest Common Ancestor BST, Unique BST 2 ⏳
49 Binary Tree Lowest Common Ancestor BT, Unique BST 1 ⏳
50 Serialization Serialize/Deserialize BT, N-ary Tree Traversal ⏳

🏔️ Fase 11: Heaps (Day 51)

Dia Tópico Problemas Status
51 Heaps Max Heap, Min Priority Queue ⏳

🕸️ Fase 12: Graphs (Days 52-55)

Dia Tópico Problemas Status
52 Graphs BFS, DFS ⏳
53 Graphs Connected Components, Topological Sort ⏳
54 Graphs Number of Provinces, Find Path in Graph ⏳
55 Graphs Number of Islands, Same Consecutive Differences ⏳

📊 Legenda de Complexidade

Notação Nome Performance
O(1) Constante 🟢 Excelente
O(log n) Logarítmica 🟢 Ótima
O(n) Linear 🟡 Boa
O(n log n) Linearítmica 🟡 Aceitável
O(n²) Quadrática 🟠 Ruim
O(2ⁿ) Exponencial 🔴 Péssima

🚀 Como Usar

# Clone o repositório
git clone https://github.com/Emicy963/Algorithm-and-Data-Structured.git

# Entre no diretório
cd Algorithm-and-Data-Structured

# Execute os exemplos de um dia específico
python src/Day\ 01/03_sorted_squared_array.py

🛠️ Tecnologias

  • Python 3.10+ - Linguagem principal
  • Type Hints - Para código mais legível
  • Docstrings - Documentação inline

📈 Acompanhe a Jornada

Estou documentando este desafio diariamente no LinkedIn! Acompanhe os insights, dificuldades e aprendizados:

LinkedIn


🤝 Contribuições

Encontrou um erro ou tem uma solução mais elegante? Contribuições são bem-vindas!

  1. Fork o projeto
  2. Crie uma branch (git checkout -b feature/nova-solucao)
  3. Commit suas mudanças (git commit -m 'Add: solução alternativa')
  4. Push para a branch (git push origin feature/nova-solucao)
  5. Abra um Pull Request

📝 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com 💜 por Anderson Cafurica

⭐ Se este repositório te ajudou, considere dar uma estrela!

About

Este repositório documenta minha jornada de 55 dias no bootcamp de Estruturas de Dados e Algoritmos. Como desenvolvedor Backend Python/Django em transição para Engenharia de IA, este desafio é fundamental para fortalecer as bases que sustentam sistemas inteligentes e escaláveis.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages