Welcome to the second Module of the C programming Tutorial, In this particular module, we will move one step further and will discuss What is an algorithm in C Programming, its advantages and disadvantages, and its characteristics.

So till now, you must be familiar with the Programming stuff, i.e., Introduction, Advantages, and Disadvantages, uses, etc. Let’s dive into the depth of this module.

## What is an Algorithm in C Programming?

The algorithm is nothing but a well-defined, finite sequence of instructions that allows us to solve a particular class of problems in a suitable manner. Algorithms are always unambiguous and are used as specifications for performing different types of computations and tasks.

- In simple terms, we can say that algorithms are formulas or procedures for solving a particular problem based on a sequence of specified actions.
- Let’s take a simple example – Suppose we want to make a tea, so what all steps we have to follow for making a tea:

Step 1: Take a container.

Step 2: Pour some milk.

Step 3: Add Tea leaves.

Step 4: Add sugar.

Step 5: Put it in the gas stove for around 5-10 minutes.

So, these are the basic steps which we will follow to make tea. I can also say that this is the algorithm for making tea.

Now, we can conclude that Algorithms are the basic step to accomplish a specific task.

In computer language, we can define an algorithm as:

So, these are the basic steps which we have to follow while writing a program on Computer.

- Let’s take some applications related to computer science as an example, in order to grasp an algorithm clearer.
- Have you ever wondered how the google map gives the best direction possible, it is because it uses a route-finding algorithm.

Till now, we are very clear what the algorithm means, so talking about a particular C language, algorithm means the same here because the algorithm is language-independent, they are never written to support a particular programming language. Since all programming languages share common code constructs like conditional statements (if-else), loops (for, while, do-while), etc. These common code constructs can be used to write an algorithm.

We should know the exact problem domain for which we have to write an algorithm, then only it can be executed in an efficient manner and can produce the desired result of our choice.

## What are the Advantages of Using Algorithms

Since we have talked a lot about the algorithm, now let’s see some of the advantages of the same:

- It gives a step-wise solution for a particular problem, which makes it easier to understand.
- It is not dependent on any programming language, so it can be easily understood by anyone.
- It is easy to debug.
- It uses a definite procedure.
- It is easier to implement.

## What are the Disadvantages of Algorithms

There are some drawbacks also, let see some of them;

- It is time-consuming.
- The big task is difficult to put in algorithms.

## What are the Characteristics of Algorithms

Not all the steps and procedures can be called algorithms, they have some characteristics also:

**Input**: An algorithm must have well-defined inputs or 0 input**Output**: An algorithm should have well-defined output or should match the desired output as per the result.**Feasibility**: It should be efficient and feasible with the available resources.**Unambiguous**: An algorithm should be unambiguous and clear, each and every single step should have a well-defined meaning.**Independent**: It should have a step-by-step process that should be independent for a particular program regardless of programming language.

Hope this module helped you all a lot and also you found it interesting, I am pretty sure that you all are very much excited to go into more depth about the C Programming series.

See, you in the next module, until then Happy Coding!