Repositório com minhas implementações dos exemplos e exercícios do livro Entendendo Algoritmos de Aditya Bhargava.
Criei isso enquanto estudava e decidi compartilhar com a intenção de que talvez possa servir de referência para mim e/ou para outras pessoas no futuro.
Implementei os algoritmos em C++ conforme lia o livro. Escolhi C++ por ser mais direto ao ponto e acabei gostando bastante, a linguagem dá muito controle sobre o código e o mantém elegante e legível.
São códigos de estudo que fiz focando na legibilidade, sem me preocupar tanto com performance ou otimizações avançadas.
Nota: Diferente do repositório de exercícios do NeetCode, desta vez não comentei muito o código (estava mais focado em fazer funcionar 😅). Os READMEs de cada capítulo ajudam, mas futuramente pretendo adicionar cabeçalhos nos arquivos indicando o conceito e a página do livro.
- Cap.01 - Pesquisa Binária
- Cap.02 - Ordenação por Seleção
- Cap.03 - Recursividade
- Cap.04 - Quicksort
- Cap.05 - Tabelas Hash
- Cap.06 - Pesquisa em Largura
- Cap.07 - Algoritmo de Dijkstra
- Cap.08 - Algoritmos Gulosos
- Cap.09 - Programação Dinâmica
- Cap.10 - K-vizinhos mais próximos
- Cap.11 - Próximos Passos
Usei a extensão Code Runner do VSCodium, que compila com g++ e executa com um clique no botão de play.
Os códigos devem compilar normalmente em outras IDEs: Dev-C++, CLion, Code::Blocks, VS Code, etc.
cd "Cap.01 - Pesquisa Binária"
g++ pesquisaBinaria.cpp -o pesquisaBinaria
./pesquisaBinariaEntendendo Algoritmos: Um Guia Ilustrado Para Programadores e Outros Curiosos
(Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People)
Autor: Aditya Bhargava
Recomendo bastante! As ilustrações, a didática e os exemplos são excelentes para visualizar como algoritmos importantes funcionam.
MIT - uso, cópia, modificação e distribuição livres.