So there are different types of algorithms and different times to choose each. The common answer is to say “my language implements this already, all I have to do is something like myArr.sort() or myArr.indexOf(x)”. So why learn things that are already implemented in your toolset of choice?

The truth is, algorithms are one of the fundamentals of computer science, and as such they shape the way you think about problems before they even come up. Sure you can call myArr.sort() on a collection of items when they present themself in a well structured set of data, but knowing how a sort works fundamentally will help you better structure your data in the first place.


Binary Search


Insertion Sort

Keywords and Terms