2010-08-12から1日間の記事一覧

SICP 問題 2.62(二進木のフラット化)

問題 下の二つの手続はそれぞれ二進木をリストに変換する。 (define (tree->list-1 tree) (if (null? tree) '() (append (tree->list-1 (left-branch tree)) (cons (entry tree) (tree->list-1 (right-branch tree)))))) (define (tree->list-2 tree) (defin…

SICP §2.3.3(集合の表現 その3 [二進木としての集合])

今度は「木」構造のデータを考える。このデータ構造は、前セクションでやった「順序づけられたリスト」よりももっとご利益があるらしい。構造のイメージとしてはこんな感じ。 ┌────── tree ──────┐ │ entry │ │ ┌────┴────┐ │ │left(tree) right(tree)│ └───…