Computer Science › Section F · Algorithms › Topic F.3

Discovering algorithms: problem-solving strategies

Writing an algorithm down is the easy half of programming; finding it in the first place is the hard half. This topic covers the classic phases of problem solving, ways to get started on a problem, and the general strategies that turn up again and again in algorithm design.

In this topic

  • Finding the method is the hard part
  • Polya's four phases
  • Phases, not a recipe
  • Getting a foot in the door
  • Stepwise refinement
  • Worked example: the longest rising run
  • Brute force and greedy strategies
  • Divide and conquer, and dynamic programming
  • Worked example: when greedy fails
  • Change your point of view
  • Common mistakes to avoid
  • Key takeaways

This topic is part of Wuanberri Pro. Checking your access…

← Previous topicNext topic →