The 5 Essential Properties (Knuth's Criteria)

  1. Input — zero or more well-defined inputs
  2. Output — at least one well-defined output, related to the input
  3. Definiteness — each step must be precisely and unambiguously defined
  4. Finiteness — must terminate after a finite number of steps (distinguishes an algorithm from a general "computational procedure")
  5. Effectiveness — every step must be basic enough to be carried out, in principle, by a person using pencil and paper (i.e., feasible/executable)

Concrete Examples for Each Property

Self-Test: Spot the Violated Property

  1. "Compute the sum of the series 1+2+3+... continuing forever." — which property is violated? (Answer: Finiteness — never terminates by design.)
  2. An algorithm step says: "Multiply the numbers using an intuitive approach." — which property is violated? (Answer: Definiteness — "intuitive" is ambiguous, not a precise instruction.)
  3. An algorithm step says: "Solve the equation using imagination." — which property is violated? (Answer: Effectiveness — not a basic, concretely executable step.)

Common Confusion

Exam Angle / MCQ Trap

Examiners love asking "which property distinguishes an algorithm from a mere sequence of steps?" — answer: Finiteness (must halt) combined with Definiteness (unambiguous). Memorize all 5 by name, not just concept.