Se você é daquele tipo de pessoa que pula o tutorial dos jogos, fique à vontade para pular esta página e ir direto para o código. Ninguém vai te julgar.

Mas se você resolver ficar, tem algumas coisas que você precisa saber sobre como as engrenagens deste livro funcionam.

A primeira coisa que você vai notar são os blocos coloridos estáticos na tela quando chegarmos nos algoritmos de ordenação. Aquilo não está ali só para deixar a página bonita. Os blocos representam o estado exato da memória do computador, passo a passo.

Por exemplo, um array em nossa representação visual se parece com isso:

42
0
7
1
99
2

Quando uma cor mudar ou um “buraco” fantasma aparecer, preste atenção. É a forma mais visual de entender a mágica antes de olhar para o código bruto.

Falando em código, você vai perceber que começaremos a nossa jornada estudando algoritmos que são notoriamente lentos e ineficientes. Isso é de propósito. Ninguém aprende a valorizar uma arquitetura genial e rápida sem antes entender por que as soluções mais inocentes não escalam. Nós vamos passar raiva com os algoritmos simples primeiro, para só então descobrirmos as soluções geniais que resolvem o problema de verdade.

Você também vai trombar com algumas caixas destacadas no meio do texto, mais ou menos com esta cara:

E o mais importante: não confie em mim. Sempre que eu te mostrar um pedaço de código, leve para o seu editor favorito. Mude as variáveis, jogue prints no meio do laço de repetição e veja o que acontece. Quebre o código propositalmente. A melhor forma de aprender como um sistema interno funciona é desmontando as peças para ver onde ele falha.

Preparado? A jornada pelos próximos capítulos será intensa e desafiadora, mas eu prometo que vai valer a pena.

Clique para avançar rumo ao Capítulo 1, onde começaremos a medir e organizar o caos de verdade.