シェルソート
シェルソートの実行時間(時間計算量)は、比較時に選ぶ間隔hによって大きく異なる。 前節の例ではhを2の累乗としたが、この場合、最悪計算量が O ( n 2 ) {\displaystyle \mathrm {O} (n^{2})} となってしまう。各周回で同じ位置の要素ばかりが比較交換されるため、h=1となった段階で「全体が大まかに整列されている」という仮定が成り立たなくなるためである。 より効率の良い(計算量の少ない)ソートを行うために、様々な間隔が提案されてきた。以下の表は、間隔を決定するための数列の例である。( n {\displaystyle n} は要素数)

これらの数列をソートの間隔として利用する際は、(要素数以内で)大きな数字から狭めていく。 3 k − 1 2 {\displaystyle {\frac {3^{k}-1}{2}}} を使う場合、間隔hを121→40→13→4→1とする(hを3で整数除算していけばよい)。 様々な間隔の計算量について理論的に考察されているが、現状、どのような間隔が最適か(例えば、平均 O ( n log  n ) {\displaystyle \mathrm {O} (n\log n)} 時間となる数列があるか)は未解決問題である。