Sorting is one of the fundamental topics. Nowadays, most programming languages have utilities, which allow us to sort items efficiently. So, in real life we rarely have to implement sorting. However, this topic is not just about pure sorting of items. Moreover, it is always helpful to have an idea about how these algorithms work and what to expect when we use them. This is why questions related to them can be expected at interviews.

In the practice tasks you will see that sometimes you would need to perform sorting in non-standard ways. Also, sometimes to solve a task one needs to make observations related to the sorted order of elements in a sequence. The examples could go on and on but let’s talk a bit more about sorting.