20 lines
995 B
Plaintext
20 lines
995 B
Plaintext
{{Sorting Algorithm}}
|
|
|
|
;Task:
|
|
Sort an array of elements using the [[wp:Shell sort|Shell sort]] algorithm, a diminishing increment sort.
|
|
|
|
The Shell sort (also known as Shellsort or Shell's method) is named after its inventor, Donald Shell, who published the algorithm in 1959.
|
|
|
|
Shell sort is a sequence of interleaved insertion sorts based on an increment sequence.
|
|
The increment size is reduced after each pass until the increment size is 1.
|
|
|
|
With an increment size of 1, the sort is a basic insertion sort, but by this time the data is guaranteed to be almost sorted, which is insertion sort's "best case".
|
|
|
|
Any sequence will sort the data as long as it ends in 1, but some work better than others.
|
|
|
|
Empirical studies have shown a geometric increment sequence with a ratio of about 2.2 work well in practice.
|
|
[http://www.cs.princeton.edu/~rs/shell/]
|
|
|
|
Other good sequences are found at the [https://oeis.org/search?q=shell+sort On-Line Encyclopedia of Integer Sequences].
|
|
<br><br>
|