In simple words Algorithms is ‘Logic or Procedure of solving any Problem.

Standard Defination : “ An algorithm is a procedure or formula for solving a problem, based on conductiong a sequence of specified actions. A computer program can be viewed as an elaborate algorithm”.

**Advantages of Algorithms:**

1. It is a step-wise representation of a solution to a given problem, which makes it easy to understand.

2. An algorithm uses a definite procedure.

3. It is not dependent on any programming language, so it is easy to understand for anyone even without programming knowledge.

4. Every step in an algorithm has its own logical sequence so it is easy to debug.

5. By using algorithm, the problem is broken down into smaller pieces or steps hence, it is easier for programmer to convert it into an actual program.

**Disdvantages of Algorithms:**

1. Alogorithms is Time consuming.

2. Difficult to show Branching and Looping in Algorithms.

3. Big tasks are difficult to put in Algorithms.

**Characteristics of Algorithms:**

Precision – the steps are precisely stated(defined).

Uniqueness – results of each step are uniquely definedand only depend on the input and the result of the precedingsteps.

Finiteness – the algorithm stops after a finite number ofinstructions are executed.

Input – the algorithm receives input.

Output – the algorithm produces output.

Generality – the algorithm applies to a set ofinputs.