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|
Bubble sort is simple to understand and implement algorithm but is very poor in performance.
Selection sort as name specifies use the technique to select the required item and prepare sorted array accordingly.
Insertion sort is a variation of selection sort.
Shell sort is an efficient version of insertion sort.
Quick sort is a highly efficient sorting algorithm and is based on partitioning of array of data into smaller arrays.
Java objects can be sorted easily using java.util.Arrays.sort()