タグ

2012年1月13日のブックマーク (3件)

  • ヒープソートでなぜ再帰?

    ヒープソートでなぜ再帰? 〜日語版ウィキペディアの問題点と最強最速のヒープソート〜 最近ヒープソートを作らせてみると、再帰を使ったヒープソートが出てくることが多い。 再帰を使ったヒープソートは考え方が単純でわかりやすい。 けれど、ヒープソートでの繰り返しは、あらかじめ決まった回数を繰り返すため、再帰の必要性はない。 普通にループ処理をした方が圧倒的に速いし、スタックのオーバーフローの心配も少ない。 クイックソートのように何回繰り返すか分からないような場合は再帰がベストだし、再帰しか方法がないようなケースもあるが、再帰は呼び出す前の関数の状態を保持するため、あっという間にスタックのオーバーフローを引き起こす。 LinuxであればWindowsの10倍程度の再帰に対するスタックメモリ耐性を持つが、それでも遅くなることは間違いないし、かなりのスタックメモリを消費する。 ヒープソートでなぜ再帰?

  • 多変量解析の基礎知識:リサーチソリューション | マクロミル

    調査結果をより深く理解するために様々な解析やデータ可視化のための手法・ツールをご用意しています。 専門のリサーチャー・アナリストが調査目的に応じて幅広い手法から最適な手法をご提案、サポートいたします。

    多変量解析の基礎知識:リサーチソリューション | マクロミル
  • 統計のための線形代数 in C++ (Boost uBLASの参考サイトとtipsまとめ)

    最近の僕はより大規模な実験を行うべく、これまで作ってきたtoy programをC++に移植する毎日です。 その過程でどうしてもベクトル・行列演算が必要になったので、時期標準の呼び声高いBoost内のベクトル・行列ライブラリ、uBLASを用いてみました。 今回の記事は、特に僕が必要であった演算を実現すべく、参考にしたサイト及びそれらをまとめたテンプレート関数群をご紹介します。 参考にした主なサイトは以下のとおりです。 Boost Basic Linear Algebra(家) Boost 数学関連ライブラリの使い方 yanoの日記 2で概要を掴み、1で詳細を詰め、3で必要なものを実装... がオススメです。 特に3の矢野さんの日記には大変助けられました。ほとんど全ての実装がblogを元にしているといっても過言ではありません(この場を借りて御礼申し上げます)。 先人達の知恵を集結し、まとめ