Approaches

Pages

  • Algorithm Development
    Guide to choosing an algorithm by its essential properties, finding program errors with well-built test sets, and optimizing a working program.
  • Enumeration Problems
    Covers arrangements, combinations, and permutations, the generation method with lexicographic order, and backtracking with branch and bound for enumerating configurations.
  • Problem Solving Approaches
    Overview of the main algorithmic problem-solving strategies (brute force, greedy, divide and conquer, dynamic programming, backtracking, and more) and when to apply each.