Algorithms Study Guide
Algorithm design and analysis — divide-and-conquer, dynamic programming, greedy, graph algorithms, and complexity theory.
Core topics in Algorithms
- Asymptotic Analysis
- Sorting
- Divide and Conquer
- Greedy Algorithms
- Dynamic Programming
- Graph Algorithms
- NP-Completeness
Why students struggle
Dynamic programming is the universal sticking point. Students who can recognize DP problems do well; those who can't never see why their greedy attempt fails.
How Fennie helps
Fennie drills DP-pattern recognition with classic problems organized by recurrence structure, not by domain.
How to study Algorithms
- 01Master recursion before DP — DP is memoized recursion
- 02Practice classic DP problems (LCS, knapsack, edit distance)
- 03Use Fennie for graph algorithm tracing
- 04Always state the recurrence before coding
Frequently asked questions
How do I get good at DP?
Solve 30 DP problems organized by pattern (linear, 2D, tree). Random LeetCode doesn't work for DP.
Is algorithms required for software jobs?
Yes for FAANG and similar. Most other jobs don't quiz you on this in interviews.
Does Fennie cover NP-completeness?
Yes — including reductions and the canonical NP-complete problems.
Start studying Algorithms with Fennie
Upload your notes, syllabus, or textbook. Fennie builds a Daily Plan in under a minute and rebalances daily based on your performance.
Get started freeOther Computer Science subjects
Data Structures
Arrays, linked lists, trees, graphs, hash tables, heaps — and choosing the right structure for the problem.
Operating Systems
Processes, threads, synchronization, memory management, file systems, and virtualization.
Computer Networks
TCP/IP stack, application protocols, routing, security, and modern network architecture.
Databases
Relational model, SQL, transactions, indexing, query optimization, and NoSQL paradigms.