# Characteristics of an algorithm

Characteristics of an algorithm : Let us try to present the scenario of a man brushing his own teeth (natural denture) as an algorithm as follows:

Step 1. Take a brush

Step 2. Apply the paste

Step 3. Start brushing

Step 4. Rinse

Step 5. Wash

Step 6. Stop

If one goes through these 6 steps without being aware of the statement of the problem. He could possibly feel that this is the algorithm for cleaning a toilet. This is because of several ambiguities while comprehending every step. Step 1 may imply tooth brush, paint brush, toilet brush, etc. Such an ambiguity arises from the instruction of the above algorithmic step. Thus every step has to be made unambiguous. An unambiguous step is called definite instruction. Even if step 2 is rewritten as ‘apply the tooth paste’, to eliminate ambiguities, yet the conflicts such as, where to apply the tooth paste and where the source of the tooth paste is, need to be resolved. Hence, the act of applying the toothpaste is not mentioned. Although unambiguous, such unambiguous, such unrealizable step can’t be included as algorithmic instruction as they are not effective.

Thus every algorithm should have the following five characteristic feature:

1. Input
2. Output
3. Definiteness
4. Effectiveness
5. Termination