what is an algorithm?
An algorithm is an effective method that can be expressed within a finite amount of space and time and in a well-defined formal language for calculating a function.