Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way to arrange data in a particular order. Most common orders are numerical or lexicographical order.
Importance of sorting lies in the fact that data searching can be optimized to a very high level if data is stored in a sorted manner. Sorting is also used to represent data in more readable formats. Some of the examples of sorting in real life scenarios are following.
Telephone Directory − Telephone directory keeps telephone no. of people sorted on their names. So that names can be searched.
Dictionary − Dictionary keeps words in alphabetical order so that searching of any work becomes easy.
Following is the list of popular sorting algorithms and their comparison.
Sr.No | Technique & Description |
---|---|
1 | Bubble Sort Bubble sort is simple to understand and implement algorithm but is very poor in performance. |
2 | Selection Sort Selection sort as name specifies use the technique to select the required item and prepare sorted array accordingly. |
3 | Insertion Sort Insertion sort is a variation of selection sort. |
4 | Shell Sort Shell sort is an efficient version of insertion sort. |
5 | Quick Sort Quick sort is a highly efficient sorting algorithm and is based on partitioning of array of data into smaller arrays. |
6 | Sorting Objects
Java objects can be sorted easily using java.util.Arrays.sort() |