Algorithms

Algorithms
While it’s important to know the essential data structure like an array, linked list, and tres, it’s equally important to learn how to work with those data structures. If you don’t know the difference between linear search and binary search algorithms, and what it means to run in O(log n) as opposed to O(n²), you need to spend some time learning algorithms.

This can often be the difference between a fine-tuned application and a slow, crappy process that hangs more than it works. At a bare minimum, you should know about sorting algorithms like quicksort, mergesort, heapsort, etc. searching algorithms like binary search, and some graph algorithms like fastest route-finding algorithms, which are the base of many deliveries and taxi-hailing apps like Uber, Grab, and Ola.

You should also understand how the library methods you are using for sorting an array work, which algorithm it uses internally, and when a different algorithm would do a better job.

I strongly suggest you prepare for this topic in depth. If you need a resource, Thomas H. Cormen’s “Introduction to Algorithms,” is the most recommended resource, but it’s not for the faint-hearted. For a less intimidating entry, I would recommend the Grokking Algorithms book by Aditya Bhargava and Algorithms course on Coursera.


Posted on by