# What is the algorithm? Write its criteria and characteristics

Ans:

## Algorithm

• An algorithm is a step-by-step procedure to solve a problem in a finite number of steps.
• Branching and repetition are included in the steps of an algorithm.
• This branching and repetition depend on the problem for which Algorithm is developed.
• All the steps of Algorithm during the definition should be written in a human-understandable language which does not depend on any programming language.
• We can choose any programming language to implement the Algorithm.
• Pseudocode and flow chart are popular ways to represent an algorithm.

## An algorithm must satisfy the following criteria:

1. Input: An algorithm should have zero or more but should be a finite number of inputs. We can also say that it is essential for any algorithm before starting. Input should be given to it initially before the Algorithm begins.

2. Output: An algorithm must give at least one required result from the given set of input values. These output values are known as the solution to a problem.

3. Definiteness: Each step must be clear, unambiguous, and precisely defined.

4. Finiteness: Finiteness means Algorithm should be terminated after a finite number of steps. Also, each step should be finished in a finite amount of time.

5. Effectiveness: Each step of the Algorithm must be feasible i.e., it should be practically possible to perform the action. Every Algorithm is generally expected to be effective.

## Characteristics of an algorithm:

1). Input: An algorithm must have either 0 or more inputs.
2). Output: An algorithm should have 1 or more desired output.
3). Unambiguous: Every Algorithm should be unambiguous and clear. It means that it’s every step, and input/output should be clear and must have only one meaning.
4). Feasibility: Algorithm should be feasible with the available resource.
5). Finiteness: Algorithm should be terminated after a finite number of steps.
6). Independent: Algorithm should have a step-by-step direction of each level, which is independent of programming language.