# Why algorithms can drive the industry your way.

Last updated : Jul 04, 2021 ## In this article you will get to know about a very vital and most avoided component of programming industry i.e., Algorithms hence the name of this article 'Why Algorithms can drive the industry your way'.

Learning algorithms and data structures is an important part while you are starting programming career. Whether you want a job in software giants like Microsoft, Google or you want to do competitive programming or you just want to polish your programming and thinking skills, this is the article you need

Now what actually an algorithm is:

Algorithm is a set of instructions which solves a specific problem in finite number of steps. For eg: if you want to add two numbers then the algorithm would go like this:

• input 2 numbers

• finally print the result

And that's it. Is that an algorithm? You may be confused because you all have been adding numbers since the starting of your programming studies. But none cares about how simple problems such as adding, multiplying numbers can be an example of algorithms. But if you go way back in centuries when there were few people who were literate. In India those people were the sages who actually defined these instructions in steps to solve many problems by hand which we do with machines like calculator. Isn't that interesting that we Indians knew how to solve problems with algorithms much before than the world did.

After knowing that what an algorithm is now it's time to know some more things about algorithm:

Data Structures

Just like an algorithm is a way of solving any problem, in the same way while solving a problem you need memory to store your data on which an algorithm processes.

If you are a beginner programmer and you want to learn problem solving then you need to master following data structures:

1. Array

3. Binary Tree

4. Hash Map

5. Graph

Types of problems (common while programming)

1. String processing

2. Searching

3. Combination problem

4. Graph problems such as (Travelling salesman problem)

Time and space problems

You have to create algorithm that is appropriately using space(memory) and completes it's process within a limited duration of time.

Let me give you an example:

If you have to take 10 people from one place to other in 2 seater car then it will take 10 rounds to complete task because only one can sit beside the driver. Here you have less space that's why it is time consuming.

Another version of the above example can be stated as now your are given a 10 seater bus so now you can complete the task in one go. Because you have more space now.

So these 2 elements are important and need to be taken into consideration while creating any algorithm or if you are studying someone else''s then you need to test it on the basis of both time and space.

Types of algorithms

Now here I will tell you algorithms which you can practice and implement with a running script.

Algorithms you should know while programming:

1. Recursive algorithms

2. Dynamic programming algorithm

3. Backtracking algorithm

4. Divide and conquer algorithm

5. Greedy algorithm

6. Brute force algorithm

Applications of algorithms

1. Genetic algorithm used in identifying genes and their numerous functions

2. Map applications includes graph domain

3. Backtracking algorithm is used moslty in probabilistic problems and decision making