# Sorting algorithms

Be it frontend development or backend development, Sorting algorithms are fundamental processes every developer or an engineer should know.  These sorting algorithms lay the foundational steps for the advanced algorithms. In this category, In a series of posts, We will read thoroughly about Bubble sort, Selection sort, Insertion sort, merge sort, Quicksort, and Radix sort. As we go from one to another algorithm, we will see the process followed by it with appropriate examples. Besides theoretical process, we will be implementing them in various programming languages. So Get yourself a cup of coffee and get yourself sorted. Radix sorting is an advanced sorting algorithm which sorts an array of values based upon the number of digits in a value than comparing the values for equality. Read more about radix sort in this article with appropriate examples and implementations in various languages. ## Quick sorting algorithm

Quick sorting is one f the intermediate sorting algorithm which is similar to merge sort. Quick sort works based on divide and conquer approach. The main advantage of quick sort over merge sort is less space consumption. Read it further and implement yourself it here. ## Merge sort algorithm

Merge sorting is an advanced sorting algorithm which uses divide and conquer policy. Merge sorting is not an in-place sorting algorithm. Using merge sort we can improve the speed of sorting but at the cost of space. If you want to see how it is done, go ahead and try it yourself over a cup of coffee. ## Insertion sorting algorithm

Insertion sorting is an in-place sorting algorithm little advanced than bubble sorting and selection sort. By reading this article about you will understand the logic behind it and time and space complexities. I have provided the source code too.