Designing correct, efficient, and implementable algorithms for real-world problems requires access to two distinct boddies of knowledge, Techniques and Resouces
- Techniques
- Good algorithm designers understand several fundamentamental algorithm design techniques:
- Data Structures
- Dynamic Programming
- Depth-first search
- Backtracking
- Good algorithm designers understand several fundamentamental algorithm design techniques:
- Heuristics