2008-05-10から1日間の記事一覧

問題2-59〜60

集合に関する問題です。問題2-59のunion-setは以下のように実装しました。intersection-setにおけるelement-of-set?の使い方をちょっと変えるだけで表現することができます。 (define (union-set set1 set2) (cond ((null? set1) set2) ((null? set2) set1) …

問題2-61〜62

集合を扱う問題の続きです。こんどは、集合を構成しているリストが順序付けらていたら、処理をどれだけ効率化することができるかを調べます。例題として、element-of-set?とintersection-setは以下のように表現されていました。 (define (element-of-set? x …

問題2-63〜65

集合の要素を二進木で表現した場合に関する問題です。木の節の要素よりも値が小さければ左側へ、大きければ右側へという規則を設けることによって、木全体が釣り合っていれば、探索処理を対数的に効率化することができます。それらを表すための各手続きは、…

問題2-66

DBは、今日取り組んだような集合を扱うためのソフトウェアだと捉えると、どのような手続きでそれを表現できるか、ということを実験的に実装するのが問題2-66です。例題では、テーブルに収められているレコードのキーが、ただのリストとして管理されている場…