10/07/06 04:51:26
>>227
察するにCかなんか使ってるようだが、
Javaかなんかに乗り換えたほうが
たぶん長期的に見れば楽だと思うぞ。
Cの文字列はヌル・ターミネートだから、
文字列の中にヌル文字が入ってると結構ややこしいことになるし、
文字列のような可変長データの動的割当を気にしていると
開発効率があまりよろしくない。
Javaが厄介な点も一つだけあって、
char が signedで あって unsigned じゃない。
高速ですべての部分文字列の辞書引き(直積検索という)を
行なうとき、Google でも使われてる
「ダプル配列法」(本当は、もっと素朴なトリプル配列法のほうが
面倒臭くないし効率もいいのでおれはそっちを使ってる)を
使おうとすると、配列の参照点→配列の参照点+バイアスという
相対移動が出てくるときにマイナスの移動が生じ、
範囲外参照で落ちるということがある。
まあ、そこに配慮してコードを書けばいいだけの話なんだが、
文字コードのせいでプログラムとアルゴリズムの対応が直感的に
取りづらいというのはあまり気分がよろしくない。