There are many different algorithms out there today. Some of them are often used in the programmer’s work. Sorting products by price or searching an article by a title, for example. Some algorithms are very specific and are used in complex developments and scientific works. Fast Fourier Transform Breaks Down Signals Into Frequencies as an example.
The good news is you don’t need to memorize any of them. You need to understand the basic algorithms well so that you can use them with confidence.
Here is a list of the 5 most basic ones:
- Binary Search, iterative and recursive implementation. My favorite one.
- Bubble Sort. It’s pretty slow and is not used in real projects, so you need just to understand it.
- Merge Sort. Teaches efficient, comparison sorting via recursion.
- Quick Sort. Teaches efficient in-place sorting.
- Depth/Breadth First Search.
I recommend you try to implement these algorithms at least once. It’ll help you to understand them better.
What would you add to this list?