Algorithms
Organize algorithms by the question they answer, not by a long catalog of names:
- What does it cost? Start with time complexity and space complexity.
- What structure does the problem have? Review sorting, search, and graph algorithms.
- What reusable design idea applies? Compare divide and conquer, dynamic programming, greedy algorithms, and backtracking.
- Why is it correct? State the invariant, recurrence, exchange argument, or exhaustive-search boundary before thinking about implementation details.
Reference
MIT OpenCourseWare 6.006 is the main external course path. Practice sites are useful for repetition, but they should not define the taxonomy of this branch.