What do we mean by algorithm? What are the characteristics of a good and relevant algorithm?
An algorithm is "a step-by-step procedure for finishing some task'' An algorithm can be specified in many ways. For example, it can be written down in English (or French, or any other language). However, we are interested in algorithms which have been specifically specified using an appropriate mathematical formalism--such as a programming language.
Each and Every algorithm should have the following five characteristics:
1.Input characteristics: The algorithm should be taking zero or more input.
2. Output characteristics: The algorithm should be producing one or more outputs.
3. Definiteness characteristics: All the steps of algorithm should be defined unambiguously.
4. Effectiveness characteristics: A person should be able to calculate the values involved in the process of the algorithm using paper and pencil.
5. Termination characteristics: An algorithm must terminate after a finite number of steps which means it should not be infinite.