Twitter icon  Tumblr icon  facebook icon  rss icon  feedly icon
naglly.com > xkcd日本語訳(2013年)  > Ineffective Sorts - 間違ったソート関数いろいろ

Ineffective Sorts - 間違ったソート関数いろいろ

  • このカテゴリでは、世界で最も人気があるウェブコミック「xkcd」の最新ナンバーをひたすら日本語に翻訳しています。
  • 過去の翻訳記事はxkcdカテゴリから。
  • 翻訳済みの秀逸なコミックについては、過去のベスト10をまとめた記事(2009年?2010年2011年2012年)からどうぞ。
  • このXKCD翻訳の目的の一つは、僕の英語スキル向上です。誤訳がありましたら、コメントなどで気軽にご指摘下さい。

ineffective_sorts.png
©xkcd.com Creative Commons Attribution-NonCommercial 2.5 License

Ineffective Sorts(役に立たないソート)

define HalfheartedMergeSort(list):
    if length(list)<2:
        return list
    pivot=int(length(list)/2)
    a=HalfheartedMergeSort(list[:pivot])
    b=HalfheartedMergeSort(list[pivot:])
    // ummmmm(うーむ)
    return [a,b] // Here. Sorry.(はいどうぞ。ごめん。)
define FastBogoSort(list):
    // An optimized BogoSort(最適化したボゴソート)
    // Runs in O(n log n)
    for n from 1 to log(length(list)):
        shuffle(list):
        if isSorted(list):
            return list
    return "Kernel Page Fault (Error code: 2)"
define JobInterviewQuicksort(list):
    OK so you choose a pivot(じゃ、ピボットを選んで)
    Then divide the list in half(リストを2分割して)
    for each half:(その片方:)
        check to see if it's sorted(ソートされているかどうか確認して。)
            no, wait, it doesn't matter(いや、まて、それはどうでもよかった)
        compare each element to the pivot(それぞれの要素をピボットと比較して。)
            the bigger ones go in a new list(より大きなものは、新しいリストへ。)
            the equal ones go into, uh(同じだったものは、えっと)
            the second list from before(前からの2番目のリストに行きます。)
        hang on, let me name the lists(待てよ。リストに名前を付けさせて。)
            this is list A(これは「リストA」)
            the new one is list B(新しいものは「リストB」)
        put the big ones into list B(大きいものはリストBに置いて)
        now take the second list(今もって2番目のリストは、えーっとA2と名づけよう。)
            call it list, uh, A2
        which one was the pivot in?(ピボットはどっちにあったけ?)
        scratch all that(全部消去。)
        it just recursively calls itself(それ自身を再帰的に呼び出す、)
        until both lists are empty(両方のリストが空になるまで。)
            right?(いいのか?)
        not empty, but you know what I mean(空じゃない。言いたいことはわかるよね。)
    am I allowed to use the standard libraries?(標準関数を使ってもいいか?)
define PanicSort(list):
    if isSorted(list):
        return list
    for n from 1 to 10000:
        pivot=random(0,length(list))
        list=list[pivot:]+list[:pivot]
        if isSorted(list):
            return list
    if isSorted(list):
        return list:
    if isSorted(list): //this can't be happening(これは起こりえない。)
        return list
    if isSorted(list): //come on come on(ほらほら!)
        return list
    // oh jeez(なんてこったい)
    // i'm gonna be in so much trouble(面倒なことになりそうだ。)
    list=[]
    system("shutdown -h +5")
    system("rm -rf ./")
    system("rm -rf ~/*")
    system("rm -rf /")
    system("rd /s /q C:\*") //portability(移植性の為)
    return [1,2,3,4,5]

補足

 Python的に書かれた、ありえないor間違ったソート関数記述いろいろ。

 HalfheartedMergeSort(list):リストを2つに分けて、それぞれをソートしようとしたが、よく分からなくなったので、分割した2つのリストをそのまま戻り値にする関数。

 FastBogoSort(list):最適化されたボゴソート

 JobInterviewQuicksort(list):ソート関数を作る、プログラマの頭の中を記述した関数。

 PanicSort(list):ランダムにソートして、ソートしたかを確認するプログラム。ソートされていなければ、パニックに陥り、関数内でシャットダウンしつつ、ファイルシステム内の全てのファイルを削除しようと試みる。

2013.3.14 追記

 コメントを参考に訳文を一部変更しました。

XKCD作者が書いた本

 XKCDの作者、ランドール マンロー氏の著作本『ホワット・イフ?:野球のボールを光速で投げたらどうなるか』を紹介します。ウェブサイトに投稿された科学のおかしな質問を、XKCDばりの捻くれ方で回答し、それらを本にまとめたものです。こちらも面白いので是非に。

 この記事のカテゴリは、xkcd日本語訳(2013年) です。
このエントリーをはてなブックマークに追加

関連する記事と広告

最新ブログ記事一覧

 2018年12月10日
「なんで私の昼寝スポットは動き続けるの?」と不思議がるネコ(動画)
いつまでも動き続けるルームランナーの上で落ち着ける場所を見つけようとする、無茶な考えを持ったネコ…
 2018年12月09日
「双眼鏡越しに写真を撮ったら惑星っぽい」の画像をきっかけに類似の画像が集まる
「双眼鏡のレンズ越しに写真を撮影したら、惑星のようだった」と言うタイトルで投稿されたこの画像。確…
 2018年12月08日
枕の山の中からネコを探せ!(動画)
ベッドの上にたくさんのまくらが並べられていますが、この中にネコが潜んでいます。さて、どこにいるで…
 2018年12月08日
ロシアの子供たちは、ブランコを雪の中から掘り出して遊ぶ(動画)
ロシアの子供たちは、どんなに大雪が降っても公園にある遊具は本来の機能のまま遊びたいみたいで、雪を…
 2018年12月08日
Mercator Projection - 「メルカトル図法の真実」の間違った利用法
Mercator Projection(メルカトル図法) 男: Did you know Canada is actually a smallish island in…
 2018年12月07日
「今年も来たツリーの破壊者」「ワープする路面電車」他 51ネタ目
【小ネタまとめ】の記事は、日々の小ネタツイートの中から反応が良かったものをまとめて掲載します。これ…
 2018年12月06日
「だるまさんが転んだ」を遵守しつつ、飼い主を狩りに来るネコ(動画)
「だるまさんが転んだ」のルールに従い、撮影者が覗いた時はピクリとも動かず、見ていない隙に着実に迫…
 2018年12月06日
Middle Latitudes - 中緯度は最悪
xkcd: Middle Latitudeshttps://xkcd.com/2081/ Middle Latitudes(中緯度) 男: It would be nice …
 2018年12月05日
よっ、脱獄名人!部屋を仕切る柵を軽々と飛び越えるフレンチブルドッグ(動画)
フレンチブルドッグのピクルスさんは、飼い主がリビングルームへ入って来ないように仕切っている2~3フ…
 2018年12月04日
「昨日飛行機に乗ったら、雲が島の上だけにあった」の画像にトリビアが集まる
『昨日、飛行機に乗ったんだけど、雲が島の上にしかないことに気づいた。』と言うタイトルで投稿された…
 2018年12月04日
Cohort and Age Effects - イラっとくるコホート効果と年齢効果の混同
xkcd: Cohort and Age Effectshttps://xkcd.com/2080/ Cohort and Age Effects(コホート効果と年齢…
 2018年12月03日
犬とネコによる、透明フィルムの障害物対処方法の違い(動画)
ペット達がいつも通るドアに透明なフィルムを貼り付け、その障害に対してネコと犬がどのような反応を示…