タグ

algorithmとc++に関するh6nのブックマーク (2)

  • 平面幾何におけるベクトル演算

    ここでは,ACM/ICPC頻出の平面幾何について,基的なベクトル演算を解説します。 最後にライブラリとしてソースコードを載せているので番では印刷して持っておくとよいでしょう。 ベクトルの基礎 デカルト座標系とユークリッド空間 スカラーとベクトル 点とベクトル ベクトルの和と差 ベクトルの利用 complex型の導入 絶対値,2点間の距離,単位ベクトル 法線ベクトル,単位法線ベクトル 内積と外積 内積・外積 2直線の直交判定・平行判定 点が線上にあるかないかの判定 直線と線分 直線と点の距離 線分と点の距離 線分の交差判定 線分の交点計算 直線の交点計算 ソースコード $Id: index.shtml 1825 2007-09-23 00:35:10Z SYSTEM $

  • quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream

    <追記>ベンチマークプログラムに誤りがありました。ソート済のシーケンスに対してソートを掛けていました。ご指摘ありがとうございます>ak氏 そんな夢のようなソートアルゴリズムがあるのかというと、あるらしいんです。それがtim sortと呼ばれるアルゴリズムです。 画期的(?)なソートアルゴリズム「Sleep Sort」:濃縮還元オレンジニュース|gihyo.jp … 技術評論社 このあたりで拾ってきたネタですね。 merge sortを改良したアルゴリズムで、安定*1しており、しかも実行速度にも優れているとか。アルゴリズムの性能の評価は済んでいるらしく、CPythonやJDK7には既に導入済みのようですね。 ならば当然Perlのソートも…と考えるわけですが、まず評価のためにJavaのソースをC++にそのまま移植してみました。それがこれ(いちおうテスト済): https://github.co

    quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream
  • 1