Educational Cards
Learn from video content, text, and interactive tasks
Filters
Eine geheime Figur erschliessen
Eine unbekannte Figur zeigt einige erreichbare Felder. Daraus soll ihre Zugregel erschlossen...
Dynamic Programming Overview
Dynamic programming stores solutions to subproblems (table or memoization) when there is an optimal...
Simulated Annealing Rough
Simulated Annealing is a metaheuristic: it sometimes accepts worse neighbors, controlled by a...
Greedy: Canonical Coin Change
Canonical Coin Change with denominations 1, 5, 10, 25: always choose the largest possible coin. For...
Visitor Idea
The Visitor pattern separates structure traversal from operations: elements call accept(visitor),...
Divide and Conquer
Divide and Conquer: divide, solve recursively, combine (Mergesort, Quicksort, classical...
Greedy Pattern
Greedy selects locally optimal steps in the hope of achieving a global optimum. Sometimes this is...
Counter with Synchronization
Implement a thread-safe increment counter using synchronized. ## Where used Sample case for Shared...
Threads vs. Processes
A process has its own address space. Threads of the same process share the heap but have their own...
ForkJoin Idea
ForkJoinPool divides tasks recursively (fork) and combines results (join). It is well-suited for...
Race Conditions
Race Condition: the outcome depends on the timing of interleaved concurrent accesses. For example,...
synchronized and monitors
synchronized in Java locks a monitor (object). Only one thread holds the lock. Visibility and...