分かった. どうやら僕のやつの場合わけを1箇所だけまとめて, あとはRとBで区別して場合わけしているところをまとめれば本質的には同じプログラムになるみたい. うーん頭いいなあ.
赤黒木のinsertをOCamlで書きました. removeはもっと全然面倒で, 書いてはみたけどデバッグに途方に暮れ挫折しました. module type OrderedType = sig type t val compare : t -> t -> int end module Make(Ord : OrderedType) = struct type elt = Ord.t ty…
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。