Programming algorithms are computer procedures that is a lot like a recipe (called a procedure) and tells your computer precisely what steps to take to solve a problem or reach a goal.
Algorithms play an important role in the career of a software developer.
Wondering why algorithm are important?
- Gives you an idea if your program actually solves the problem.
- Gives you an idea about under what circumstances your program will perform well.
- Gives you an idea what parts of the program are important and what parts can be done any old way.
Got an idea about the importance, Now let’s have a look at some of the most important algorithms and their usage in real life.
Graphs:
Graphs are used to represent networks. Networks may include paths in a city or telephone network or circuit network. Graphs are also used in social networks like Facebook, LinkedIn, Instagram etc.
There are various processes done in graphs:
- Breadth First Search(BFS)
- Depth First Search(DFS)
- Dijkstra Algorithm
- Floyd Warshall Algorithm
Dynamic Programming
Dynamic Programming(DP) helps in solving enormous, heavyweight programming problem that you can’t imagine solving on your own. DP helps you turn the big problem into small sub problems . Example:
- Longest Common Sequence
- Subset Sum Problem
- 0-1 Knapsack Problem
Sorting Algorithms
Sorting Algorithms are used to rearrange a given array or list element according to a comparison operator on the elements. Example:
- Quick Sort
- Merge Sort
- Bubble Sort
- Selection Sort
Searching Algorithms
Searching Algorithms are used to check retrieve an element from any data structure where it is stored. Example:
- Binary Search
- Linear Search
- Interval search
- Fibonacci Search
Hashing
Hashing Algorithms provide you with a one-way technique that you can use to mask your data, with a minimal chance that someone could reverse the hashed value back to the original value. Examples:
- MD5
- SHA-1
- SHA-2
- NTLM
- LANMAN