As someone transitioning from a communications and marketing career to software engineering, it's becoming increasingly clear to me that the ability to communicate clearly about algorithms, especially in interview problem sets, is key to survival.
This repository holds a bunch of cheat sheet files about the different searching and sorting algorithms I've encountered.
In each file, I've done my best to explain:
- A written summary of how the algorithm works.
- An accompanying visual.
- Big O runtime.
- Pros and cons to the algorithm.
- When to apply it in practice.
- Sample problem prompts where it'd be useful.
- Code example based on one of those problems.
- Any references and explanations from the excellent book "Algorithms to Live By"