I wanted to summarize what I had recently learned about algorithms. Keeping a separate record for every problem was becoming too fragmented, so I decided to organize the ideas by problem type instead.
These notes follow LeetCode’s problem tags. Some categories naturally overlap.
Strings
Graphs
Linked lists
Stacks and queues
Depth-first and breadth-first traversal
Hash tables
Binary search
Greedy algorithms
Beyond Coordinates