0Pricing
JavaScript Academy · Aula

Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes)

Use a intuição de Big-O e concentre-se nos caminhos quentes. Substitua varreduras aninhadas por Set/Map, evite trabalho repetido e mantenha o código pequeno e claro

Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.

Visão geral

Objetivo: obter ganhos rápidos sem teoria complexa.

  • Intuição de Big-O: evite laços duplos
  • Caminhos quentes e frios: otimize o que é executado com mais frequência
  • Set/Map para buscas rápidas
  • Faça o trabalho uma vez e reutilize os resultados
Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 1

Varredura aninhada = custosa

Aninhar varreduras multiplica o trabalho. Cada includes percorre o vetor novamente.

// Bad pattern: nested scan for membership (can be ~O(n^2))
const haystack = ["a","b","c","d","e"];
const needles = ["b","e","x"];
const foundSlow = [];

for (const n of needles) {
  // includes scans the array each time
  if (haystack.includes(n)) {
    foundSlow.push(n);
  }
}
console.log("slow found:", foundSlow);
Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 2

Set para verificar pertencimento

Crie um Set uma vez; use has para verificar pertencimento rapidamente. Isso elimina a varredura interna.

// Better: build a Set once, then O(1)-ish checks (~O(n) overall)
const fastSet = new Set(haystack);
const foundFast = [];
for (const n of needles) {
  if (fastSet.has(n)) {
    foundFast.push(n);
  }
}
console.log("fast found:", foundFast);
Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 3

Map para contagens

Map armazena contagens para leituras posteriores próximas de O(1); evite percorrer os vetores novamente para recontá-los.

// Build a frequency map once instead of scanning many times
const words = ["a","b","a","a","c","b"];
const freq = new Map();

for (const w of words) {
  const old = freq.get(w) || 0;
  freq.set(w, old + 1);
}

console.log("count a:", freq.get("a"));
console.log("count b:", freq.get("b"));
Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 4

Faça uma vez (cache)

Se um valor se repetir, armazene o resultado em cache. Mantenha os caches pequenos e claros para iniciantes.

// Do work once and reuse (tiny cache)
function heavy(x) {
  // pretend heavy math
  return x * x + 1;
}

const cache = new Map();

function heavyCached(x) {
  if (cache.has(x)) return cache.get(x);
  const val = heavy(x);
  cache.set(x, val);
  return val;
}

console.log("first:", heavyCached(5));
console.log("second:", heavyCached(5)); // cached
Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 5

Concentre-se nos caminhos quentes

Caminho quente: é executado muitas vezes (otimize-o). Caminho frio: código raro (mantenha-o simples).

  • Remova os laços internos do código quente.
  • Use Set/Map em tarefas quentes de verificação de pertencimento ou contagem.
  • Faça medições depois; comece pela clareza.
Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 6

Questionário sobre otimização de pertencimento

Verificação rápida: reduza as varreduras aninhadas.

Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 7

Recapitulação

Recapitulação: evite varreduras aninhadas, use Set/Map para buscas e contagens e faça o trabalho uma vez. Concentre-se nos caminhos quentes; mantenha o código frio simples.

Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes) — ilustração 8

Perguntas Frequentes

A aula “Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes)” é grátis?

Sim — o texto completo de “Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.

O que vou aprender em “Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes)”?

Use a intuição de Big-O e concentre-se nos caminhos quentes. Substitua varreduras aninhadas por Set/Map, evite trabalho repetido e mantenha o código pequeno e claro Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes)”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de Big-O, caminhos quentes e frios (ganhos para iniciantes)
  2. Evitando vazamentos — closures, temporizadores e referências
  3. Introdução à criação de perfis (Node/DevTools) — pequenos hábitos de medição
← Voltar para JavaScript Academy