There is much confusion in data structures and algorithms topics like what I have to learn, which topics are important, and what should be the flow to learn all those topics.
In this article, we are going to cover very important algorithms that are very useful and important for competitive programming as well as for interview purposes. This is just a flow chart of Algorithms learned. We are not going to study anything in detail so let’s begin.
Basics:
- Huffman Coding Compression Algorithm
- Euclid’s Algorithm
- Union Find Algorithm
Arrays:
- Kadane’s Algorithm
- Floyd’s Cycle Detection Algorithm
- KMP Algorithm
- Quick Select Algorithm
- Boyer- More Majority Vote Algorithm
Sorting:
- Insertion Sorting
- Heap Sorting
- Selection Sorting
- Merge Sorting
- Quick Sorting
- Counting Sorting
- Shell Sorting
- Bubble Sorting
- Radix Sorting
- Bucket Sorting
Searching:
- Linea Search
- Binary Search
- Depth First Search
- Breadth First Search
Graphs:
- Kruskal’s Algorithm
- Dijkstra’s Algorithm
- Bellman Algorithm
- Flyod Warshall Algorithm
- Topological Sort Algorithm
- Flood Fill Algorithm
- Lee Algorithm