Shell sort is also known as “Diminishing increment sort”
. Shell sort is a sorting algorithm, devised by
“Donald Shell”
in 1959, that is a generalization of insertion sort, which exploits the fact that insertion sort works efficiently on input that is already almost sorted. It improves on insertion sort by allowing the comparison and exchange of elements that are far apart. The last step of Shell sort is a plain insertion sort, but by then, the array of data is guaranteed to be almost sorted. The given list of numbers are first sorted at distance 5 from each other and then resorted with distance 3 and finally insertion sort has been performed. After getting the sorted list with distance 3 from each other, simple insertion sort is performed to get the final sorted list. It is not mandatory to make 5, 3 and 1 as increments. Many other choices can also be made, but it should be considered that the choices like power of 2 such as 8,4,2,1 are not fruitful as the same keys compared in one pass would be compared again at the next pass. Therefore, making other choices may give better chance of obtaining new information from more of the comparisons.