[過去ログ] 関数型プログラミング言語Haskell Part4 (1001レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
477
(4): 2006/04/17(月)22:14 AAS
木を使うアルゴリズムなんてほとんど知らないんだが…
いちおうこんなのを考えてみた。
data Bound a = Inclusive a | Exclusive a | Unbounded -- 範囲の境界
type Range a = (Bound a, Bound a) -- (下限、上限)
data RangeMap k a =... -- kの範囲にaの値を対応させる写像。木で表現される。平衡木だとなおよい。
empty :: (Ord k) => RangeMap k a -- 空の写像
insert :: (Ord k) => Range k -> RangeMap k a -> RangeMap k a --既存の写像を部分的に上書き
省5
480: 2006/04/17(月)22:43 AAS
>>479
>>477
489: 2006/04/18(火)00:29 AAS
>>477
ツォルンの補題まで行ってきました。
なんでそうなったかは自分でもよくわかりません。
明日のナゾナゾにしてもう寝ます。
495
(1): 2006/04/18(火)17:07 AAS
>>477
a<b<c<d のとき(a,c)<(b,d)ということでしょうか?
でも(a,d)と(b,c)の比較がやっぱり分りません。(a,d)>(b,c)なんだろうか・・・

RangeMapはこういう解釈でいいんでしょうか?

・RangeMap型のオブジェクトは次の写像と同値である。
 r(1),r(2)...r(n)のn個の整列された範囲が与えられているとき、
 範囲rを自然数iに対応させる写像であって、rをr(i)とr(i+1)との間に挿入すると
省2
496: 2006/04/18(火)20:13 AAS
>>495
説明不足だった。申し訳ない。
意図としては、RangeMapはk型の値からa型の値への写像。
例えば、
a0, a1 :: RangeMap Integer String
a0 = insert (Unbounded, Unbounded) "foo" empty
a1 = insert (Inclusive 0, Inclusive 10) "bar" a0
省3
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.145s*