タグ

2008年9月16日のブックマーク (4件)

  • List::FrontCode - naoyaのはてなダイアリー

    先日 Array::Gap という Variable Byte Codes による整列済み整数の圧縮の実装を作りました。(id:naoya:20080906:1220685978) 今日は Front Coding を使った同じような圧縮リストクラス、List::FrontCode を作ってみました。Front Coding は辞書式順に整列済みの文字列リストなどを圧縮する手法です。WEB+DB PRESS Vol.42 のアルゴリズム&データ構造の記事で PFI の岡野原さんによる解説があったので、それを参考に実装しました。 Front Coding Front Coding は http://www.hoge.jp http://www.hoge.jp/a.htm http://www.hoge.jp/index.htm http://www.fuga.com/ http://www.

    List::FrontCode - naoyaのはてなダイアリー
  • Objective-Cは特殊な言語? - @IT

    Objective-Cは特殊な言語?:Cocoaの素、Objective-Cを知ろう(1)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 唐突ですが、皆さんは新たに1つのプログラミング言語を修得しようと思い立ったとき、最初に何をしますか。その言語の入門用サイトを見て回る、関連書籍を立ち読みする、サンプルを入手して取りあえず動かしてみる、といったところでしょうか。ちなみに私は書籍が好きで、しかも立ち読みではなく購入派です。 いずれにしても、まずはその言語のコードを目で見て、「いったいどんな言語なのか」というイメージをつかむのが最初の一歩となるでしょう。何かしらのプログラミング経験がある人なら、コードを眺めて、「ああ、あの言語に似ているな」とか「うわ、これはとっつきに

    Objective-Cは特殊な言語? - @IT
  • 第9回 Emacsエディタ入門

    Emacsは,LinuxをはじめとするUNIX系OS上において,前回に紹介したvi(「viエディタ入門」を参照)と並んで人気の高いエディタです。 Emacsは,しばしば「単なるエディタではなく,一つの環境である」といわれます。その理由は,ソースコードの編集,コンパイル,デバッグはもちろん,メールやWebブラウジングまでEmacsの中で完結できてしまうという,拡張性の高さでしょう。 今回は,Emacs入門を紹介します。 Emacsの概要 Emacsは,今から30年以上前,GNUプロジェクトの創始者であるリチャード・ストールマン(Richard Stallman)氏によって原型となるエディタが作られました。その後,様々なEmacsの実装が作られましたが,その中心となるのは,リチャード・ストールマン氏によるGNU Emacsです。この連載で取り上げている「Ubuntu(Ubuntu 8.04 L

    第9回 Emacsエディタ入門
  • Array::Gap - naoyaのはてなダイアリー

    明日は一ヶ月ぶりのIIR輪読会 です。主催のたつをさんから「教科書の話題から何か適当に実装せよ」という課題が出ていたので、5章 のインデックスの圧縮の所で見た Variable byte codes (以下 VB code) を使った圧縮の実装を作ってみました。 整列済みの整数を圧縮する手法 ここでの圧縮のポイントは二つ。 昇順に並べられた整数を、整数そのままの数で扱うのではなく、一つ前の要素との差で扱う。差で扱うと 21,314,156 → 21,314,157 という数は "1" というより小さい数で表現することができる。(整列済みなので、差が分かれば逆の操作で復元が可能) 32 ビット int の整数を固定長 32 ビットで表現するのではなく可変長バイトで表現する。(これが VB code) VB code なら小さな数字は 32ビット = 4バイトよりも小さなビット数で表現できる

    Array::Gap - naoyaのはてなダイアリー