ストゥージソートのアニメーション | |
クラス | ソート |
---|---|
データ構造 | 配列 |
最悪計算時間 | O(nlog 3 /log 1.5) |
最悪空間計算量 | O(n) |
ストゥージソート(英: Stooge sort)は、再帰を用いたソートアルゴリズムのひとつである。
計算時間はO(nlog 3 / log 1.5 ) = O(n2.7095...)であり、これはマージソートなどの効率的なアルゴリズムよりも、それどころか非常に効率の悪い単純なソートの例としてよく挙げられるバブルソートよりも遅い。
アルゴリズムは以下の通りである。
algorithm stoogesort(array L, i = 0, j = length(L)-1)
if L[j] < L[i] then
L[i] ↔ L[j]
if (j - i + 1) >= 3 then
t = (j - i + 1) / 3
stoogesort(L, i , j-t)
stoogesort(L, i+t, j )
stoogesort(L, i , j-t)
return L