In AP Computer Science Principles, a heuristic is a problem-solving approach that finds a good-enough solution in a reasonable amount of time when an exact, optimal algorithm would take an unreasonable amount of time. It trades guaranteed correctness or optimality for speed (Topic 3.17).
A heuristic is a practical shortcut. Instead of checking every possible answer to guarantee the best solution, a heuristic uses a rule of thumb to land on a good solution fast. Think of driving somewhere new without a GPS. You could test every possible route (slow but perfect), or you could follow the rule "head in the general direction of the destination" (fast and usually close enough). That second strategy is a heuristic.
The AP CSP CED frames heuristics through efficiency (EK AAP-4.A.3). Some problems, especially optimization problems where you want the "best" answer among many (EK AAP-4.A.2), can't be solved exactly in reasonable time once the input gets large. The number of possibilities explodes. When that happens, the right move is a heuristic that produces an approximate solution quickly. The catch is the trade-off. A heuristic may not find the optimal answer, and it may occasionally be wrong, but it finishes before the universe ends.
Heuristics live in Topic 3.17, Algorithmic Efficiency (Unit 3), under learning objective 3.17.A, which asks you to do two things: explain the difference between algorithms that run in reasonable time versus unreasonable time, and identify situations where a heuristic solution is more appropriate. That second skill is the whole point of this term. The exam doesn't ask you to write a heuristic; it asks you to recognize when one makes sense. The signal is always the same. If an exact algorithm would take unreasonable time (often because possibilities grow exponentially with input size), a heuristic that gives a good-enough answer in reasonable time is the appropriate choice. This is also one of the most real-world-flavored ideas in Unit 3, since recommendation systems, game-playing programs, and scientific simulations all run on heuristics.
Keep studying AP Computer Science Principles Unit RVr3SSU71oF3gxfA
Greedy Algorithm (Unit 3)
A greedy algorithm is the classic example of a heuristic. It picks the best-looking option at each step without ever looking back. That works great for some problems and fails badly for others, which is exactly what MCQs probe when they ask where a greedy heuristic would be least appropriate.
Optimization Problem (Unit 3)
Optimization problems (find the best solution among many, per EK AAP-4.A.2) are where heuristics earn their keep. Finding the truly shortest path or the truly best schedule can require checking an absurd number of options, so a heuristic settles for a very good answer instead of the perfect one.
Approximate Solution (Unit 3)
An approximate solution is what a heuristic produces. The two terms are cause and effect. The heuristic is the strategy; the approximate solution is the good-enough output it gives you in reasonable time.
Machine learning (Unit 5)
Recommendation systems like a social media feed are heuristics at scale. The system can't compute the provably perfect post for you, so it uses learned rules of thumb to serve content that's probably relevant, trading guaranteed accuracy for speed across millions of users.
Heuristics show up as multiple-choice scenario questions, not code-writing tasks. The stem describes a problem and asks you to judge whether a heuristic is appropriate, or to name the trade-off being made. Practice questions in this style include a social media company using a heuristic recommendation algorithm (the trade-off is accuracy for speed), a chess program with limited processing power (it can't evaluate every possible game, so it uses heuristics to evaluate positions quickly), and protein folding simulations (the number of possible configurations is astronomically large, so exact computation is unreasonable). Your job in every case is the same two-step move from LO 3.17.A: recognize that the exact approach takes unreasonable time, then explain that the heuristic gives a good-enough answer in reasonable time. Also watch for the reverse question, spotting where a heuristic is least appropriate, which is usually a situation where a guaranteed correct answer is required or an efficient exact algorithm already exists.
A heuristic IS an algorithm, just one with different promises. A standard algorithm for a problem guarantees a correct (or optimal) answer for every instance. A heuristic drops that guarantee on purpose. It promises a reasonable-time answer that's usually good, not an answer that's always right. So the question on the exam is never "algorithm or heuristic?" as if they're opposites. It's "do we need the guaranteed answer, or do we need an answer we can actually compute in time?"
A heuristic finds a good-enough solution in reasonable time when an exact algorithm would take unreasonable time.
The core trade-off is always the same: a heuristic sacrifices guaranteed correctness or optimality in exchange for speed.
Heuristics are most appropriate for optimization problems where the number of possible solutions grows too fast to check them all, like chess moves or protein folding configurations.
A heuristic is still an algorithm; it just doesn't promise the optimal answer for every instance of the problem.
On the exam (LO 3.17.A), you need to identify situations where a heuristic is more appropriate, not write one yourself.
A greedy algorithm is the textbook example of a heuristic, since it makes the locally best choice at each step without guaranteeing the globally best outcome.
A heuristic is a problem-solving approach that uses a practical shortcut to find a good-enough solution in reasonable time, instead of an exact algorithm that would take unreasonable time. It's tested in Topic 3.17, Algorithmic Efficiency, under learning objective 3.17.A.
No. A heuristic often finds the optimal answer, and it usually finds one close to it. The point is that it doesn't guarantee the best answer. You accept that uncertainty in exchange for finishing in reasonable time.
A heuristic is a type of algorithm, so they're not opposites. A standard exact algorithm guarantees a correct or optimal result for every input, while a heuristic gives up that guarantee to run in reasonable time. Chess programs use heuristics because evaluating every possible game exactly is computationally impossible.
Use a heuristic when the exact approach takes unreasonable time, which usually happens with optimization problems whose possibilities grow exponentially with input size. Protein folding and content recommendation are classic examples. If an efficient exact algorithm exists, or a guaranteed correct answer is required, a heuristic is the wrong choice.
A greedy algorithm is one specific kind of heuristic, not the whole category. It applies the rule "take the best option available right now" at every step. That's fast, but because it never reconsiders earlier choices, it can miss the overall best solution, which is exactly the heuristic trade-off.