タグ

sortに関するsecondlifeのブックマーク (7)

  • 全文検索システム: Fess - オープンソース全文検索サーバー Fess (フェス)

    概要 現在表示されているサイトは旧サイトです。新サイトは http://fess.codelibs.org/ja/ です。 Fess は「5 分で簡単に構築可能な全文検索サーバー」です。Java 実行環境があればどの OS でも実行可能です。Fess は Apache ライセンスで提供され、無料 (フリーソフト) でご利用いただけます。 Seasar2 ベースで構築され、検索エンジン部分には 2 億ドキュメントもインデックス可能と言われる Solr を利用しています。 ドキュメントクロールには S2Robot を利用することで、Web やファイルシステムに対するクロールが可能になり、MS Office 系のドキュメントや zip などの圧縮ファイルも検索対象とすることができます。 特徴 5 分で簡単に構築可能な全文検索サーバー Apache ライセンスで提供 (フリーソフト) OS 非依存

    secondlife
    secondlife 2011/01/27
    全文検索エンジン・クローラあり
  • libdivsufsortのRubyバインディング - so what

    http://storehouse.sakura.ne.jp/viewvc/viewvc.cgi/divsufsort/ruby/divsufsort.c?root=svn&view=markup http://divsufsort.rubyforge.org/ とりあえずbwt/unbwtだけ実装。 require 'divsufsort' include Divsufsort bwt = divbwt(<<-EOS) London bridge is falling down, Falling down, falling down, London bridge is falling down, My fair Lady. EOS unbwt = inverse_bw_transform(bwt) puts <<-EOS #{bwt} ----- #{unbwt} EOS 追記 divs

    libdivsufsortのRubyバインディング - so what
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • ブロックソート - Wikipedia

    ブロックソート、ブロックソーティング、Burrows-Wheeler変換 (Burrows-Wheeler Transform; BWT) は、1994年にマイケル・バローズ (Michael Burrows) とデビッド・ホイーラー (David Wheeler) が開発した可逆変換の方式で、データ圧縮の前処理に応用される。 ブロックソート自体はデータの大きさを変えない。しかし、データを整列することでデータ中に出現するパターンを、いくつかのよく知られている手法で圧縮し易いものにできる。後処理としてMove To Front (MTF)・連長圧縮 (RLE)・エントロピー符号と組み合わせて、データを圧縮する。 実装はbzip2等。 原理[編集] 長さ n のデータを巡回シフトし、得られるすべての文字列を辞書順にソートする。このようにしてできた n×n 行列の第 n 列を取り出したものが、B

  • JavaScript でソートアルゴリズムを可視化 - bkブログ

    JavaScript でソートアルゴリズムを可視化 JavaScript でソートアルゴリズムを可視化するプログラムを書いてみました。元ネタは Jon Bentley による ソートアルゴリズムを可視化する Java アプレットです。 アルゴリズム 要素数 動作確認は Firefox 2, IE 7, Opera 9 で行いました。要素数は最大で200まで選べますが、かなり重くなるので遅いマシンで実行すると危険です。 English version is also available. ソースコード: sort-animation.js 解説 X軸が配列の添え字、Y軸が配列の要素の値を示しています。最初に要素がランダムに並んでいる配列 (値に重複なし) を作って、それを各種のソートアルゴリズムでソートする様子をアニメーションで表示します。 ただし、要素のあらゆる変更に対して毎回表示を更新し

  • アルゴリズムの擬人化 - ヒビノキロク

    昨日夢の中で考えた。巷では色んな擬人化が流行ってるけど、アルゴリズムの擬人化というのはちょっと珍しいんじゃないか。例えばソートアルゴリズムの場合。 バブルソート…無駄遣いが多い派手好きな短大生タイプ ビンソート…相手を選ぶが、相性の合う相手には優しいツンデレタイプ ヒープソート…規律にうるさい委員長タイプ(眼鏡装備) クイックソート…バランスの取れた優等生タイプ ブロックソート…ソート業界より情報圧縮業界で活躍中。プロポーション抜群のモデルタイプ マージソート…のんびり屋 シェルソート…中学生 選択ソート…小学生 こんな感じで、各アルゴリズムの特性を反映した性格付けをすることができると思う。自分には余りそっち方面の能力がないので上に挙げた例はイマイチだけど(途中で面倒くさくなった)。 あと似たような例としてはデザインパターンも十分キャラが立ってるので擬人化できそう*1。 *1:これは既にあ

    アルゴリズムの擬人化 - ヒビノキロク
  • JavaScriptの配列をsort関数でシャッフルする - snippets from shinichitomita’s journal

    あえてsort関数を使う方法でシャッフルしてみる。比較関数自体がランダムな値を返す場合と違って、これなら偏らない。 Array.prototype.shuffle = function() { return this.map(function(a){ return { weight: Math.random(), value: a } }) .sort(function(a, b){ return a.weight - b.weight }) .map(function(a){ return a.value }); }とりあえずFirefox1.5でOK。IEでもmap関数を自分で定義してやれば大丈夫のはず。 置換によるシャッフルと違って、weight値のところを適当に変化させれば、要素ごとに重みづけてのシャッフルもできると思う。たとえばよく聞く曲は優先的に前の方に持ってくるとか、その逆と

    JavaScriptの配列をsort関数でシャッフルする - snippets from shinichitomita’s journal
  • 1