タグ

ブックマーク / www.kmonos.net (4)

  • クイックソート殺し - d.y.d.

    19:39 12/09/01 クイックソート殺し こういう系統の話。 Quicksort Killer (kazoo04さん) qsortを撃墜し(最悪ケースを与え)てみた。 (qnighyさん) A Killer Adversary for Quicksort (shinhさんの解説) Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 (徳丸さんの解説) ただのクイックソートは要素数 N の配列をソートするのに最悪 N2 オーダの時間がかかってしまう、 そしてそれは pivot を偏って選びまくってしまった時に発生する、というのはよく知られた話だと思います。 といっても、広く使われている言語/ライブラリのソート関数はその辺り気をつけられていて、最悪時も O(N log N) になるアルゴリズムで実装されている…と思い込んでいたのですが(例えば C++

    terurou
    terurou 2012/09/05
    Javaのソートの実装があまり賢くないと
  • Let's Boost - インストール方法

    インストーラやパッケージを使う方法 一番簡単な方法です。コマンド一発でインストール完了です。 ただし、下記以外の開発環境や、最新バージョンリリース直後などは、 パッケージ化が追いついていないことがあります。 その場合手動での Boost のダウンロードやビルド、設定が必要になります。 → 手動インストール Visual C++ の場合 Visual C++ 7.1~10.0 用のインストーラが boostpro で公開されています。 ビルド済みライブラリが自動インストールできます。 Cygwin gcc の場合 CygwinのインストーラでBoostを一緒にインストールできます。 「Devel」カテゴリの「boost」と「boost-dev」を選択してください。 UNIX系環境の場合 大抵のディストリビューションでパッケージ化されているようです。 yum install boost boo

  • w.l.o.g. ギャップバッファ

    04:40 04/06/04 ピーステーブル PieceTable とも言う。文字列の Piece(小片)を繋げて、 一つの巨大な文書を表現する方式。 検索すると引っかかる文書のほとんどが AbiWord 関係なので、 このワープロソフトの主要な内部データ構造ということなのかな。 他に、MS-WordやOpenOffice.org関連の文書にも登場していて、 基的に単なるテキストエディタよりは、文字に付加情報をくっつける系の 編集ソフトに使われる場面が今のところ多いみたいです。 余談ですがAbiWordは、綱渡り的にですがBeOS版の開発が続いている貴重なワープロソフトなのです。感謝感謝。 概要 ファイルを読み込んだとしましょう。ABCDEFG、という7文字のファイル。 とりあえず、7文字分のOrigという名前のバッファを用意して、そこに格納します。 それと別に、Addという名前の空のバ

    terurou
    terurou 2010/02/15
    PieceTableの基本構造解説
  • NYSL - 他のライセンス:PDS

    PDSとの違い PDSとは Public Domain Software (公有ソフトウェア?)の略であって、 特定のライセンスを指すわけではありません。 作者によって著作権が放棄され、誰でも自由に勝手に使っていいですよ、 という状態におかれたソフトウェアのことを言います。 NYSLは、要するに「このソフトウェアはPDSです」と宣言しているにすぎません。 従って、このページの見出しとは反して、内容的には PDS と NYSL ソフトウェアに違いはありません。 気分の違い しかし、「PDSです」と5文字で済ませればよいところを、 わざわざライセンスを規定しているのには少しだけ意味があります。 NYSLの1行目に書かれている「Everyone'sWare」が鍵です。 "Public Domain" という言葉からは、公共のもの、というイメージを受けます。 そこから発展すると、Public Do

    terurou
    terurou 2008/08/07
    日本でのPublic DomainとNYSLについての違いや議論のまとめ/日本でもPublic Domainと宣言して、免責を書いておけば法的にPDSとして扱ってくれるみたい。
  • 1