2007-08-12から1日間の記事一覧
最近、こればっか。 リストを与えられて、そこからFinger treeを作るという関数 listToTree を作るとして、どうやって作るか。 単純には、pushLを連続的に適用して、 listToTree ls = foldr pushL Empty lsとやって、pushLがO(1)なのでこれでもよいのだ(し…
右からリストで与えられた要素を追加するというもの。 FingerTreeというのは、左の方はリストと同順で並んでいるけれど、右の方はリストと逆順で並んでいるので、右から追加するという操作はちょっと複雑な動きになる。その辺を効率よく操作したいと思って、…
Finger treeの定義は、次のようにしていたのだけれど、 :: Tree v a = Empty | Single !a | Deep v !(Digit a) (Tree v (Node v a)) !(Digit a) :: Digit a :== [a]Digitの所が遅延リストだったので、不必要な非正格性が残ってしまっていた。そこで、正格リ…
http://cappuccino.jp/keisuken/logbook/20070812.html#p04 3D CMSの主要部分をScalaにする(暴走気味. すばらしい。
http://johanjeuring.blogspot.com/2007/08/finding-palindromes.html 文字列に含まれる回文を線形時間で見つけることができるアルゴリズムだそうです。
http://d.hatena.ne.jp/odz/20070810/1186764019 http://d.hatena.ne.jp/bleis-tift/20070812/1186847743 また危険な話題に手を出しているような気がしますが・・・ RDBというのは並行アクセスを前提としたシステムなので、トランザクション分離レベルという…
名詞抽出法なんてものがあるのかっ。 なんていうか、くらくらするな。いままで考えたこともなかったよ。 「オブジェクト指向 = 英語の語順」な思考はこのへんにも元凶があるのかな。 - 本来の使いかたは、クラスの候補を探すための手がかりとして使うという…
実装完了。sourceforgeのリポジトリにチェックインした。 https://cleanoptenv.svn.sourceforge.net/svnroot/cleanoptenv/trunk/Data - String2も作って、チェックインした。