タグ

ブックマーク / kaiseh.hatenadiary.org (2)

  • 要素の挿入、削除、ランダムアクセスが全部高速なリストを作った - kaisehのブログ

    スキップリスト(Skip List)は1990年に発表された比較的新しいアルゴリズムで、要素の挿入や削除、検索を平衡木と同等のパフォーマンスで実行可能なリスト構造です。 Skip Listは連結リストの多層構成になっています。路線に例えると、最下層のリンクは各駅停車のように、全要素を結んでいます。一方、上層のリンクは急行や特急のように、途中の要素をスキップするようになっています。この路線を特急→急行→…→各駅と乗り継ぐことで、目的の要素に高速に到達できる仕組みです。もっと詳しい解説はこちらやこちらにあります。 で、ここからが題です。Skip Listの実装はいくつも出ているんですが、Sorted Listとしての実装ばかりで、要素を任意順序で格納できてランダムアクセス(indexを指定してのアクセス)可能なSkip Listが見つからなかったので、自分で作ってみました。 通常のSkip

    要素の挿入、削除、ランダムアクセスが全部高速なリストを作った - kaisehのブログ
    mariyie
    mariyie 2012/01/29
    説明がわかりやすい。 ソースは:ポインタの持ち方で、level=0(or-1?) を ptr でもたせないのはなんでだろう。処理が冗長になる気がする。addbefore の min もいらないような
  • OpenNLP Toolsによる英語の品詞解析 - kaisehのブログ

    英文校正サイト [NativeChecker] では、入力した英文の各単語の品詞表示を行っています。 この品詞解析処理には、自然言語処理プロジェクト群であるOpenNLP中のOpenNLP Toolsを使っています。 OpenNLP Toolsによる品詞分析について、Web上に日語の資料があまり見当たらないので、以下に手順を書いてみようと思います。 1. OpenNLP Toolsのダウンロード 以下のOpenNLPのサイトから[Download]をクリックして、OpenNLP Toolsをダウンロードします。 redirect 2. モデルファイルのダウンロード 同サイトの[Models]から、モデルファイルをダウンロードします。品詞解析に必要になるのは、以下のディレクトリ中のtag.bin.gzとtagdictです。 http://opennlp.sourceforge.net/mo

    OpenNLP Toolsによる英語の品詞解析 - kaisehのブログ
    mariyie
    mariyie 2010/12/16
    文法エラーも表示してくれるのだろうか。辞書登録もできると便利かも。
  • 1