タグ

sortに関するwkbyshnbtkのブックマーク (3)

  • 404 Blog Not Found:perl - the sort pragma

    2006年11月23日17:00 カテゴリLightweight Languages perl - the sort pragma いい機会なのでPerl 5.8のsortプラグマを紹介。 sawatの日記 遅いのはマージソートだからでいいのでは?ぎゃああ、元記事を別の記事で上書きしてしまったみたいだ。現在再執筆中....完了。 Perlでは、5.8以降はsort()のアルゴリズムにmergesortを採用している。ただし、実装で工夫しているので、実はPerl 5.6以前のquicksortベースのsortよりも、ほとんどのケースでは速度低下は見られないか、むしろ高速になっている。 とはいうものの、それでもquicksortの方がいいケースも残っているということで、これを切り替えるがsortプラグマなのだ。 NAME function - search.cpan.org Perl 5.6

    404 Blog Not Found:perl - the sort pragma
  • 404 Blog Not Found:javascript - Array#sortがオレquicksortより遅い!?

    2006年11月23日14:45 カテゴリLightweight Languages javascript - Array#sortがオレquicksortより遅い!? な、なんだってー!? ごっつええブログ - JavaScriptによるソートアルゴリズムの比較実験 『JavaScriptを使って一定以上の数量をもった数値配列をソートする場合は、組み込みメソッドよりもクイックソートを使用したほうが高速である』 自分でも検証してみた。 どうやらMozilla系列のJavaScript実装に関しては嘘ではないらしい。以下で確認してほしい。 Firefox 2に関してはほぼ同等だが、Mac IE 5, Safari 2.0.4, Opera 9.02ではbuiltinの方が速かった。しかしその差は最も大きかったSafariでも3倍程度で、builtinとしてはやはり遅いように見える。 # of

    404 Blog Not Found:javascript - Array#sortがオレquicksortより遅い!?
  • 2006-11-06

    最近はPerl Best Practiceを読んでいることが多いので、おもしろかった部分をまとめて書いておこうかと思う。ということで、日はPerl Best Practice 8.1章 ソートからのネタ。 sortはブロックを渡すことでソート方法を柔軟にコントロールできる。ただ、そのブロック内での計算量が大きくなるとソートの効率が落ちる。ソート中に何度も比較を行うちに同じ計算を何度もすることになってしまうからだ。 そこで、いろいろな工夫が考えられているらしい。PBPで紹介されていたもを以下にまとめてみた。 工夫なしでそのまま まず、一番ベタなソートが、以下のコード。 use Digest::SHA1 qw(sha1); my @sorted_titles = sort { sha1($a) cmp sha1($b) } @titles;このままだと、何度も同じ値のダイジェストを計算するこ

    2006-11-06
  • 1