タグ

algorithmとアルゴリズムに関するokumuraa1のブックマーク (2)

  • 画期的(?)なソートアルゴリズム「Sleep Sort」 | gihyo.jp

    ソートアルゴリズムにはクイックソートやマージソートといった伝統的なものから、PythonJava 7のデフォルト実装になっている「Timsort」までいろいろな種類があります。中には正しいソート順になるまでひたすらシャッフルし続ける「Bogosort」のようなジョークアルゴリズムもあります。これから紹介するアルゴリズムもそのうちの一つに入るかもしれません。 「4chan」という2ちゃんねるに似たアメリカの匿名掲示板があり、そのプログラミング板にて「Genius sorting algorithm: Sleep sort」というスレッドが立ちました。2ちゃんねる風に訳すと「ちょwwwすごいソートアルゴリズム思いついたwwwww」といった感じでしょうか。スレッドを立てた1氏は「Sleep Sort」と称したリスト2のようなシェルスクリプト実装を載せています。 ソート対象の数値データを次々にs

    画期的(?)なソートアルゴリズム「Sleep Sort」 | gihyo.jp
  • RustでMD5を実装(ついでにsin64を計算)

    概要 MD5ハッシュアルゴリズムをRFC1321に記載された仕様に従ってRustで実装します。付録として、その中で利用される 4294967296|\sin i| の整数部分という値の計算方法も示します。 背景 しばらく前から主に公式ドキュメントでRustを学び始めました。Zennの以下の記事にもお世話になっています。 RustCoder ―― AtCoderRust で始める競技プログラミング入門 Rust入門 学ぶうちにちょっとしたサイズのアルゴリズムを実装してみたくなり、今春放送されたゴジラSP[1]で重要な役割を果たしたMD5ハッシュの実装を試してみることにしました。 MD5とは MD5は任意長のビット列を128ビットという固定長のハッシュ値に変換するアルゴリズムです。したがって理想としては任意長のビット列を引数に取るべきですが、記事では文字列に対するMD5ハッシュ関数をR

    RustでMD5を実装(ついでにsin64を計算)
  • 1