Before jumping into our practical problem, though, we need to first learn about a new category of algorithmic efficiency in the world of Big O. To demonstrate it, we’ll get to use one of the classic algorithms of computer science lore.
Sorting algorithms have been the subject of extensive research in computer science, and tens of such algorithms have been developed over the years. They all solve the following problem:
Given an array of unsorted numbers, how can we sort them so that they end up in ascending order?
In this and the following chapters, we’re going to encounter a number of these sorting algorithms. Some of the first ones we’ll be learning about are known as “simple sorts,” in that they are easier to understand, but are ...