スリープソートとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > スリープソートの意味・解説 

スリープソート

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/22 09:14 UTC 版)

バケットソート」の記事における「スリープソート」の解説

バケットソートバケツメモリ空間代わりに時間置き換えたもので、もともと掲示板4chan投稿されアイデアである。 「全要素最大値×スリープさせる単位時間」で実際にソートできてしまう。それが役に立つ事例例題程度であろう面白ジョークであるが、実際コンピュータシステムでは、起動したプロセス意図した時間ピタリ正確に終了するという保証はない。すなわち、非同期複数プロセス起動したとき、混雑OS制御のために値が返ってくる順序意図した時刻にこないことがあるのはもちろん、ソート期待する順序とは異なった順序返ってくる恐れさえある。したがってデモ冗談ならともかく、実用に絶対使ってはいけない。 OSは、実は一定時間後に起動する要求到来時間順の待ち行列つないで管理している。そのとき当然到来時間大小比較が行われる。タイマ見張り時間到来した要求行列から外して要求元の待ち解除し結果通知しているのが実体である。ソートアルゴリズムに不可欠のこの“計算”のコスト計算量算入されていないので、一見計算要らないように見えるというトリックがある。時間順に並んだバケツ」を用意してデータ出し入れしくれている裏方さん”がいるのであるbashによる実装 #!/bin/bashfunction f() { sleep "$1" echo "$1"}while [ -n "$1" ]do f "$1" & shiftdonewait 使用例: $ ./sleepsort.bash 5 3 6 3 6 3 1 4 7133345667 上の結果正しい。 ところが処理系Windows 10, Cygwin bash)で何度実行しただけで、通常の数倍の時間経過したあと、たとえば以下のように一部追い抜きがあったり入力そのままだったりと、誤った結果出てくる例が見られた。 $ ./sleepsort.bash 5 3 6 3 6 3 1 4 7356336147

※この「スリープソート」の解説は、「バケットソート」の解説の一部です。
「スリープソート」を含む「バケットソート」の記事については、「バケットソート」の概要を参照ください。

ウィキペディア小見出し辞書の「スリープソート」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「スリープソート」の関連用語

スリープソートのお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのバケットソート (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS