These algorithms make locally optimal choices at each step, hoping to find a global optimal solution.