Skip to main content
Computer Science

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

  1. 01Master recursion before DP — DP is memoized recursion
  2. 02Practice classic DP problems (LCS, knapsack, edit distance)
  3. 03Use Fennie for graph algorithm tracing
  4. 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 free

Other Computer Science subjects