The Characteristics of a Good Algorithm
Precision – the steps are precisely stated (defined).
Uniqueness – results of each step are uniquely defined and only depend on the input
and the result of the preceding steps.
Finiteness – the algorithm stops after a finite number of instructions are executed.
Effectiveness – algorithm should be most effective among many different ways to solve a problem.
Input – the algorithm receives input.
Output – the algorithm produces output.
Generality – the algorithm applies to a set of inputs.