Educational Cards
Learn from video content, text, and interactive tasks
Filters
Kollisionen: Chaining
Chaining speichert kollidierende Einträge in einer Liste (oder einem Baum) pro Bucket. Einfügen...
Kleine Implementierung: Teilmengensumme
Klassisches Teilproblem: gibt es eine Teilmenge mit gegebener Summe? Entscheide pro Element: nehmen...
Zustandsraum und Schnitte
Pruning schneidet Äste ab, die keine gültige Lösung mehr erreichen können. Frühe Konflikttests...
Backtracking: Versuch und Rücknahme
Backtracking erkundet einen Entscheidungsbaum: treffe eine Wahl, gehe rekursiv weiter, nimm die...
n-Damen-Idee
n-Damen: platziere n Damen so, dass keine zwei sich schlagen (gleiche Zeile, Spalte, Diagonale)....
Mutable State und Undo
Häufig mutiert man ein gemeinsames Board-Array: setze Feld, rekursiver Aufruf, Feld zurücksetzen....
Rekursion mit Entscheidung
Muster: for jede Option: if zulässig: anwenden; if solve(): return true; rückgängig; return false....
Gerichtete versus ungerichtete Graphen
Ungerichtete Kanten sind symmetrisch; gerichtete Kanten haben Richtung. In der Adjazenzliste eines...
Gewichtete Kanten und Dijkstra-Idee
Dijkstra findet kürzeste Wege bei nichtnegativen Kantengewichten. Eine PriorityQueue wählt den...
Kurzimplementierung: Nachbarn zählen
Kleine Implementierungsübung: Grad eines Knotens in einer Adjazenzliste ist die Länge seiner...
Graphen: Adjazenzliste
Ein Graph besteht aus Knoten und Kanten. Eine knotenweise Nachbarschaftsdarstellung speichert für...
BFS und Queue
BFS erkundet schichtweise: eine Queue hält die Frontier. Besuchte Knoten markieren verhindert...