LYCOS RETRIEVER
Shell Sort: Algorithms
built 208 days ago
Invented in 1959 by Donald Shell, the shell sort is a relatively fast algorithm and is easy to code. It attempts to roughly sort the data first, moving large elements towards one end and small elements towards the other. It performs several passes over the data, each finer than the last. After the final pass, the data is fully sorted.
Source:
The function form of the running time for all Shell sort depends on the increment sequence and is unknown. For the above algorithm, two conjectures are n(logn)2 and n1.25. Furthermore, the running time is not sensitive to the initial ordering of the given sequence, unlike Insertion sort.
Source:
The shell sort is still significantly slower than the Merge Sort, Heap Sort, and Quick Sorts, but its relatively simple algorithm makes it a good choice for sorting lists of less than 5000 items unless speed is hyper-critical. It's ... an excellent choice for repetitive sorting of smaller lists.
Source:
Most of the shell sort algorithm is written in 80x86 assembly language for 80386 or better processors. The rest is written in Microsoft Visual C 6.0 using Windows API functions for the Win32 environment. Most of the Windows API functions can be converted to Standard C functions to make the sort algorithm more generic.
Source:
The algorithm begins by performing a gap insertion sort, with the gap being the first number in the gap sequence. It continues to perform a gap insertion sort for each number in the sequence, until it finishes with a gap of 1. When the gap is 1, the gap insertion sort is simply an ordinary insertion sort, guaranteeing that the final list is sorted.
Source:
An inventor called DL Shell came up with a very interesting sort which he called shell sort. This sorting algorithm is almost similar to the bubble sort algorithm. The shell sort compares elements that are a certain distance away (d positions away) from each other and it compares these elements repeatedly(bubble sort only compares adjacent elements.) It uses the equation d = (n + 1) / 2.
Source: