Guia de estudos đșïž
Um plano para aproveitar o livro ao mĂĄximo, sem pressa e sem decoreba.
Cronograma sugerido (~1 capĂtulo por semana)â
O ritmo abaixo Ă© um ponto de partida â ajuste Ă sua rotina. O importante Ă© a consistĂȘncia (um pouco todo dia) e o active recall (testar a si mesmo).
| Semana | CapĂtulo(s) | Foco prĂĄtico |
|---|---|---|
| 1 | Cap. 1 â Busca binĂĄria | Implementar busca binĂĄria; contar passos vs. busca linear |
| 2 | Cap. 2 â Selection sort | Implementar selection sort; entender arrays Ă listas ligadas |
| 3 | Cap. 3 â RecursĂŁo | Reescrever loops como recursĂŁo; desenhar a pilha de chamadas |
| 4 | Cap. 4 â Quicksort | Implementar quicksort; analisar pior Ă caso mĂ©dio |
| 5 | Cap. 5 â Tabelas hash | Usar dict; pensar em colisĂ”es e fator de carga |
| 6 | Cap. 6 â BFS | Representar grafo com dict; achar caminho mais curto com deque |
| 7 | Cap. 7 â Dijkstra | Implementar Dijkstra com tabela de custos e pais |
| 8 | Cap. 8 â Gulosos | Cobertura de conjuntos; reconhecer problemas NP-completos |
| 9 | Cap. 9 â Programação dinĂąmica | Mochila (knapsack); maior subsequĂȘncia comum |
| 10 | Cap. 10 â KNN | DistĂąncia/cosseno; classificação e regressĂŁo simples |
| 11 | Cap. 11 â Grafos | Ărvore geradora mĂnima; ordenação topolĂłgica |
| 12 | Cap. 12 â PrĂłximos passos | Mapear o que estudar a seguir |
No fim de cada semana, releia rapidamente os checklists dos capĂtulos anteriores. Reveja com mais força o que vocĂȘ nĂŁo conseguir explicar de cabeça.
Como estudar cada capĂtuloâ
1. Pegue a intuição antes do cĂłdigoâ
Leia "Ideia central" + "Analogia". Tente explicar o conceito em voz alta, com suas palavras, antes de ver a implementação.
2. Digite o cĂłdigo vocĂȘ mesmoâ
NĂŁo copie e cole. Digitar fixa o raciocĂnio e revela os detalhes (Ăndices, caso-base, condiçÔes de parada).
3. Teste-se com os exercĂciosâ
Resolva antes de abrir a resposta. Errar e corrigir ensina mais do que acertar de primeira lendo a solução.
4. Explique o Big-Oâ
Para cada algoritmo, saiba dizer:
- Qual é a complexidade de tempo (melhor, médio, pior caso)?
- E a de espaço?
- Por quĂȘ? (qual operação domina o crescimento?)
5. Marque o checklistâ
Cada capĂtulo tem um "Checklist de domĂnio". Use-o como critĂ©rio objetivo para saber se pode avançar.
TĂ©cnicas que funcionamâ
- Active recall: feche o livro/site e tente reconstruir o algoritmo de memĂłria.
- Repetição espaçada: revise em intervalos crescentes (1 dia, 3 dias, 1 semana).
- Ensinar para aprender: explique o algoritmo para alguém (ou para uma planta).
- Desenhar: rabisque a pilha de chamadas, o array sendo ordenado, o grafo.
- Variar os dados: rode o cĂłdigo com listas vazias, de 1 elemento, jĂĄ ordenadas.
Registrando seu progressoâ
Os checklists usam caixas de seleção. Para registrar de verdade o que jå domina,
vocĂȘ pode marcar - [x] direto no arquivo .md do capĂtulo e commitar â assim
seu progresso fica versionado no Git.
Pelas pastas do repositĂłrio, vocĂȘ jĂĄ implementou os capĂtulos 1 a 4. Os prĂłximos a atacar sĂŁo Tabelas hash (5) e BFS (6).