general approaches for attacking problems that guide you from "I have no idea how to solve this" to "I have a structured plan." This chapter introduces three of the most important strategies in computer science: **divide and conquer**, **greedy algorithms**, and **dynamic programming**. These are no