1) Analysis Problem, Do it by example, find solution way.
2) Brute Force OR Get the special properties in the solution to Optimize
3) Find & Simplify to a reasonable Math Model (Data Structure & Algorithm)
4) Implement by Code
5) Test
In Crack Coding, it have following way to design an algorithm
- Look for BUD (Bottleneck, Unneccecary Operation, Duplicated Operations)
- DIY
- Simplify and Generalize
- Basecase and build
- Brainstorm of Data structure
- Check if we used all information we know.
- Trace Table and Virtualize Path is tools to develop the algorithm