BogosortをJavaScriptで実装してみた
Jan 31, 2011
暇でWikipedia見てたらボゴソートとかいうのを見つけた。JavaScriptでの実装例があまりないようだったので、どうせだからと実装してみることにした。
ちなみに、ボゴソートとは「要素をシャッフル→ソートされてたら処理終了、されてなければまたシャッフル」を繰り返す、非常に効率の悪いアルゴリズムである。
function isSorted(aArray){ for(var i=0,l=aArray.length-1;i<l;i++){ if(! (aArray[i] <= aArray[i+1])) return false; } return true; } function shuffle(aArray){ return aArray.sort(function(){ return Math.random()*100 <= 50; }); } function bogoSort(aArray){ while(!isSorted(aArray)){ shuffle(aArray); } }
追記。sortでシャッフルすると偏るらしいです。