エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
少し前にsleep sortというソートアルゴリズムが発見されたよね。 常識を覆すソートアルゴリズム!その名... 少し前にsleep sortというソートアルゴリズムが発見されたよね。 常識を覆すソートアルゴリズム!その名も”sleep sort”! これをRubyのThreadを使って実現すると、だいたい次のようになるんだよ。 class Array def sleep_sort mem = [] map do |i| Thread.new(i) do |n| sleep n mem << n end end.each(&:join) mem end end a = (1..10).sort_by { rand } # => [1, 2, 10, 6, 4, 5, 9, 7, 8, 3] a.sleep_sort # => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 美しいよね。これほどシンプルで安定なソートの方法が今さら発見されるなんて、アルゴリズムの世界はほんとうに奥深いね。