Entendendo Algoritmos é um livro que ensina como utilizar algoritmos em programas de computador. Ele aborda conceitos fundamentais, como pesquisa, ordenação e gráficos, apresentando exemplos de código em Python. Porém, neste repositório, estou estudando e convertendo todos os exemplos e práticas do livro para Ruby, como parte do meu aprendizado.
O objetivo do livro é simplificar o aprendizado de algoritmos, mostrando-os como sequências de passos para resolver problemas. Ele usa uma abordagem acessível, com ilustrações claras que ajudam a visualizar conceitos e conectá-los com situações do dia a dia.
O livro explora os seguintes algoritmos e conceitos fundamentais:
- Ordenação por seleção
- Recursão
- Quicksort
- Tabelas Hash
- Pesquisa em largura (BFS)
- Algoritmo de Dijkstra
- Algoritmos Gulosos
- Programação Dinâmica
- K-Nearest Neighbors (KNN)
Além disso, ele apresenta a estrutura básica de algoritmos: entrada, processamento e saída, com foco em como esses passos são aplicados para resolver problemas de diferentes áreas, como programação, matemática e até análises financeiras na bolsa de valores.
Meu objetivo é:
- Ler e entender o conteúdo do livro.
- Converter todos os exemplos de código para Ruby.
- Praticar os conceitos implementando exercícios próprios e variações dos algoritmos descritos.
Isso me ajuda a consolidar o conhecimento sobre algoritmos enquanto reforço minhas habilidades em Ruby.
src/
: Implementações dos algoritmos em Ruby.exercicios/
: Problemas práticos para aplicar os conceitos do livro.notas/
: Anotações e insights do processo de aprendizado.
Escolhi Ruby porque é uma linguagem expressiva, com sintaxe limpa e uma comunidade ativa. Além disso, a conversão de exemplos de Python para Ruby é desafiadora o suficiente para aprimorar minha lógica de programação.
Caso você esteja estudando este livro e queira contribuir:
- Faça um fork do repositório.
- Crie uma branch para suas alterações:
git checkout -b minha-branch
. - Envie um PR com as suas contribuições.
- Livro: Entendendo Algoritmos, de Aditya Bhargava
- Documentação Ruby: Ruby Docs
Siga-me nessa jornada de aprendizado 🚀!