スパゲティソートとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > スパゲティソートの意味・解説 

スパゲティソート

(Spaghetti sort から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/06/18 19:58 UTC 版)

スパゲティ・ソートの模式図。台に置いたスパゲティの束から、突き出た順に取り出すことでソートができる。

スパゲティソート (Spaghetti sort) はコンピュータ科学における並べ替えアルゴリズムの一種。一般には使われることがない思考上のアルゴリズムである。数学者で作家のA. K. デュードニー英語版が考案した[1][2][3]。スパゲティソートの平均計算時間は、データ数が倍になると、倍になる。また、デュードニーがこのソートの説明を乾燥スパゲティを長さ順に並べ替える手順に例えたことで知られる。

アルゴリズム

アルゴリズム考案者のデュードニー自身が、スパゲティの並べ替えに例えて説明している。

  1. 長さが不揃いの乾燥スパゲティの束があったとする。これを手で軽く握ってテーブルの表面に立てる。
  2. 次に、もう一方の手を上から降ろしていき、最初に触った棒を取り出す。これが一番長い棒となる。この棒をリストの最初に追加する。さらに手を降ろしていき、次に触れた棒をリストの2番目に追加する。全ての棒が無くなるまで、この手順を繰り返す。

これをコンピュータアルゴリズムとして使う場合、並べ替えに必要な時間として、(1)与えられた数列と同じ長さのスパゲティを準備する時間、(2)スパゲティを並べ替える時間、(3)並べたスパゲティを数字に変換する時間が挙げられる。これらの時間は全てスパゲティの本数に比例する。

つまり、棒の数が倍になれば、並べ替えに必要な時間も倍となる。これをいわゆるランダウの記号で表すと、となる。 これは、一般的なソートアルゴリズムの時間計算量がである(ソート#ソートアルゴリズムの一覧)ことを考えると、珍しい特性である。

参考文献

  1. ^ Dewdney, A. K. (June 1984), “On the spaghetti computer and other analog gadgets for problem solving”, Scientific American 250 (6): 19–26 
  2. ^ Stauffer, Dietrich (May 15, 1999), Annual Reviews of Computational Physics VI, World Scientific英語版, p. 260, ISBN 981-02-3563-1 
  3. ^ Adamatzky, Andrew (July 1, 2006), From Utopian to Genuine Unconventional Computers, Luniver Press, p. 96, ISBN 0-9551170-9-7 

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  スパゲティソートのページへのリンク

辞書ショートカット

すべての辞書の索引

「スパゲティソート」の関連用語

スパゲティソートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



スパゲティソートのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのスパゲティソート (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS