**Algorithm:** An algorithm is a step by step procedure to solve any problem. There are some characteristics to define an algorithm how efficient it is.

**Following are the characteristics of an algorithm:**

**#1. INPUT:** An algorithm can have 0 or more well defined inputs.

**#2. OUTPUT:** Algorithm should generate atleast 1 output.

(If there is no output what is the use of algorithm why we should use it.)

**#3. UNAMBIGUOUS/DEFINITENESS:** Each step of an algorithm must be clear or non-ambiguous. There should not be any kind of ambiguity in any step. In simple words, all the steps of an algorithm is precisely defined.

**#4. FINITENESS:** An algorithm must have finite number of steps. And every instruction in an algorithm must consume finite amount of time for execution.

**#5. EFFECTIVENESS:** Algorithm must be effective means it should work for those purpose which it should design. It does not contain any unnecessary information.

**#6. GENERALITY:** One algorithm is work for all same type of problems.

Table of Contents

### How to write algorithms?

There is no proper way or method to write an algorithm. Algorithm is just steps of instructions. Everyone can write in different way but the logic will be same. But the algorithm must fulfil the requirements of characteristics of algorithm.

### How to analyze or judge an algorithm:

An algorithm can be write in different ways to solve a problem. So to analyse the algorithm we can find the best solution to the problem. The best solution is in the terms of time and space complexity.

We can represent complexity of algorithm in the from of asymptotic notations:

- Big O
- Big Omega
- Big Theta

Algorithm is just the logical part of solution. It is that much simplified that an any person can read and understand its meaning.

**People also search this post by using:**

- Short note on characteristics of an algorithm
- find complexity of algorithm
- main pillars of an algorithm
- points that define algorithm
- define an algorithm in short