JavaScript Academy · Les

De basis van Big-O, hot versus cold paths (winst voor beginners)

Gebruik uw intuïtie voor Big-O en richt u op hot paths. Vervang geneste scans door Set/Map, voorkom herhaald werk en houd code klein en duidelijk

Les 1 van 38 stappen

De basis van Big-O, hot versus cold paths (winst voor beginners) is een gratis JavaScript Academy-les op CoddyKit. Dit is les 1 van 3. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject JavaScript Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus JavaScript Academy bevat in totaal 3 lessen.

Het grote geheel

Doel: snel resultaat boeken zonder ingewikkelde theorie.

  • Intuïtie achter Big-O: vermijd dubbele lussen
  • Drukke en rustige paden: optimaliseer wat het vaakst wordt uitgevoerd
  • Set/Map voor snelle zoekacties
  • Doe werk één keer en gebruik resultaten opnieuw
De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 1

Geneste scan = duur

Geneste scans vermenigvuldigen het werk. Elke includes doorloopt de array opnieuw.

// 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);
De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 2

Set voor aanwezigheidscontrole

Maak één keer een Set en gebruik has voor een snelle aanwezigheidscontrole. Daarmee verwijder je de binnenste scan.

// 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);
De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 3

Map voor aantallen

Map bewaart aantallen voor latere lezingen in ongeveer O(1); voorkom dat je arrays opnieuw doorloopt om opnieuw te tellen.

// 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"));
De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 4

Doe het één keer (cache)

Als een waarde terugkomt, sla je het resultaat op in een cache. Houd caches klein en duidelijk voor beginners.

// 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
De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 5

Richt je op drukke paden

Druk pad: wordt vaak uitgevoerd (optimaliseer dit). Rustig pad: zeldzame code (houd die eenvoudig).

  • Verwijder binnenste lussen uit drukke code.
  • Gebruik Set/Map voor drukke taken rond aanwezigheid en aantallen.
  • Meet later; begin met duidelijkheid.
De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 6

Quiz over optimalisatie van aanwezigheidscontroles

Snelle controle: geneste scans verminderen.

De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 7

Samenvatting

Samenvatting: Vermijd geneste scans, gebruik Set/Map voor zoekacties en aantallen en doe werk één keer. Richt je op drukke paden en houd rustige code eenvoudig.

De basis van Big-O, hot versus cold paths (winst voor beginners) — illustratie 8
Gratis beginnen

Leer JavaScript met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
59
Lessen
200

Veelgestelde vragen

Is de les “De basis van Big-O, hot versus cold paths (winst voor beginners)” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad JavaScript Academy, waaronder “De basis van Big-O, hot versus cold paths (winst voor beginners)”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus JavaScript Academy bevat in totaal 3 lessen.

Wat leer ik in “De basis van Big-O, hot versus cold paths (winst voor beginners)”?

Gebruik uw intuïtie voor Big-O en richt u op hot paths. Vervang geneste scans door Set/Map, voorkom herhaald werk en houd code klein en duidelijk Je oefent met JavaScript Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met JavaScript Academy te beginnen?

Ervaring vooraf is niet nodig. JavaScript Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 3.

Hoe lang duurt de les “De basis van Big-O, hot versus cold paths (winst voor beginners)”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over JavaScript Academy?

Ja. Elke les over JavaScript Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. De basis van Big-O, hot versus cold paths (winst voor beginners)
  2. Leaks voorkomen — closures, timers en referenties
  3. Kennismaking met profileren (Node/DevTools) — kleine timinggewoonten
← Terug naar JavaScript Academy