2007-12-17から1日間の記事一覧

SICPを読む(76) 二進木をGraphvizで表示

どうも二進木のリスト表示がわかりにくいので、Graphviz使うことに。 define (graph tree) (system (format "echo 'digraph G { ~a ~a }' | dot -Tpng | display" (entry tree) ; 一個だけだと表示が出来ないのでとりあえず最初のを挿入しとく (letrec ((mak…

SICPを読む(75) 問題2.65 二進木としての集合(3)

うぅん。わからん。 問題 2.65 僕は一生懸命ツリーをつなぎ替えようとしてしまった。ツリーのつなぎ変えがイマイチうまくいかない・・・。回答を見ると、tree->listを使ってやる方法が書かれてた。イマイチ納得がいかない。ちょっと後回し。

SICPを読む(74) 問題2.64 二進木としての集合(2)

次は順序づけられたリストを釣合った二進木へと変換する問題。 問題 2.64 とりあえず、let*に直す。 (define (partial-tree elements n) (if (= n 0) (cons '() elements) (let* ((left-size (quotient (- n 1) 2)) (left-result (partial-tree elements lef…