Regardless of what an algorithm is used for, they all have the following characteristics in common:
Start and end: they start from an initial state from which they execute a set of instructions to reach a final exit or state of completion.
Accuracy: they must indicate a clear, specific, logical order of instructions for executing each step, without any room for ambiguity.
Sequence: they must follow a set of orderly, understandable, pre-defined steps.
Complete: they must take into account all the possibilities and presentations of the problem to execute the exact solution.
Finite: the number of steps to execute the task must be finite to complete it.
Abstract: they represent a guide or model for ordering processes.