Algorithms & Data Structure is the most important topic in Computer Programming. Good knowledge of standard algorithms is equally important as Selecting a Good Data Structure. Here is a list of 6 Algorithms you should know as a Developer.
1. Sort Algorithms
In sort algorithms, the idea is to arrange the items of a list in a specific order. There are multiple Sorting Algorithms
- Merge Sort
- Quick Sort
- Bucket Sort
- Heap Sort
- Counting Sort
2. Search
Search algorithm is used to find an element in a data set. The 2 quite know algorithms are:
- Binary Search
- Depth / Breath First Search
3. Hashing #️⃣
Hash lookup is currently the most widely used technique to find appropriate data by key or ID. We access data by its index. A hashing algorithm is a cryptographic hash function. It is a mathematical algorithm that maps data of arbitrary size to a hash of a fixed size. A hash function algorithm is designed to be a one-way function, infeasible to invert. However, in recent years several hashing algorithms have been compromised.
4. Dynamic Programming
Dynamic Programming is an algorithmic technique for solving an optimization problem by breaking it down into simpler subproblems and utilizing the fact that the optimal solution to the overall problem depends upon the optimal solution to its subproblems.
5. Divide and Conquer
A Divide and Conquer algorithm recursively breaks down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly.
6. Greedy
A greedy algorithm is an approach for solving a problem by selecting the best option available at the moment. It doesn’t worry whether the current best result will bring the overall optimal result. The algorithm never reverses the earlier decision even if the choice is wrong. It works in a top-down approach.
Thank you for reading the blog. Read our other blogs here.. 💖
Follow Code Architects on Instagram.