An algorithm has following characteristics:
1. Each and every instruction should be precise and unambiguous i.e. each and every instruction should be clear and should have only one meaning.
2. Each instruction should be performed in finite time.
3. One or more instructions should not be repeated infinitely. It means that the algorithm must terminate ultimately.
4. After the instructions are executed, the user should get the required results.