Step One: Watch Sorting Algorithms in JavaScript DONE
Step Two: Fork this gist. ALSO DONE
Step Three: Respond to this question in your fork: "What are some of the balances and trade offs between different sorting algoritms?"
The common theme is that some sorting algorithms are very performant, but take up a ton of memory and others are slower algorithms that do not take up as much space. A good comparision is between insertion sort and merge sort. Insertion sort is O(n2) which isn't great, but when dealing with smaller datasets can be usefull when memory comes at a premium. Merge sort on the other hand is O(NlogN) which is very good but does take up more resources. They key take away is that there isn't a one size fits all solution to which sorting algorithm should be used, but you should take into account the constraints that are placed upon you.