0Pricing
JavaScript Academy · Lektion

Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge)

Big-O intuitiv verstehen und sich auf Hot Paths konzentrieren. Verschachtelte Durchläufe durch Set/Map ersetzen, wiederholte Arbeit vermeiden und den Code klein und klar halten

Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Das Wichtigste im Überblick

Ziel: Schnelle Verbesserungen ohne komplizierte Theorie.

  • Big-O-Intuition: Vermeiden Sie doppelte Schleifen
  • Heiße und kalte Pfade: Optimieren Sie, was am häufigsten ausgeführt wird
  • Set/Map für schnelle Suchvorgänge
  • Einmal arbeiten, Ergebnisse wiederverwenden
Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 1

Verschachtelte Suche = teuer

Verschachtelte Suchvorgänge vervielfachen den Aufwand. Jedes includes durchläuft das Array erneut.

// 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);
Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 2

Set für Mitgliedschaftsprüfungen

Erstellen Sie einmal ein Set und verwenden Sie has für schnelle Mitgliedschaftsprüfungen. Dadurch entfällt die innere Suche.

// 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);
Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 3

Map für Zählungen

Map speichert Zählwerte für spätere Lesezugriffe mit ungefähr O(1). So vermeiden Sie, Arrays zum erneuten Zählen nochmals zu durchsuchen.

// 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"));
Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 4

Einmal erledigen (cachen)

Wenn ein Wert wiederholt benötigt wird, cachen Sie das Ergebnis. Halten Sie Caches für Anfänger klein und übersichtlich.

// 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
Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 5

Auf heiße Pfade konzentrieren

Heißer Pfad: wird häufig ausgeführt (hier optimieren). Kalter Pfad: seltener Code (einfach halten).

  • Entfernen Sie innere Schleifen aus häufig ausgeführtem Code.
  • Verwenden Sie Set/Map für häufige Mitgliedschaftsprüfungen und Zählungen.
  • Messen Sie später; beginnen Sie mit klar verständlichem Code.
Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 6

Quiz zur Optimierung von Mitgliedschaftsprüfungen

Schnelltest: Verschachtelte Suchvorgänge reduzieren.

Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 7

Zusammenfassung

Zusammenfassung: Vermeiden Sie verschachtelte Suchvorgänge, verwenden Sie Set/Map für Suchvorgänge und Zählungen und erledigen Sie Arbeit nur einmal. Konzentrieren Sie sich auf heiße Pfade und halten Sie kalten Code einfach.

Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge) — Illustration 8

Häufig gestellte Fragen

Ist die Lektion „Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge)“ kostenlos?

Ja — der vollständige Text von „Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge)“?

Big-O intuitiv verstehen und sich auf Hot Paths konzentrieren. Verschachtelte Durchläufe durch Set/Map ersetzen, wiederholte Arbeit vermeiden und den Code klein und klar halten Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.

Wie lange dauert die Lektion „Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge)“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Big-O-Grundlagen, Hot Paths vs. Cold Paths (erste Erfolge)
  2. Leaks vermeiden – Closures, Timer und Referenzen
  3. Profiling-Einstieg (Node/DevTools) – kleine Timing-Gewohnheiten
← Zurück zu JavaScript Academy