sicp

SICPのexcercise 3.21から3.27

どっかに記録を残しておかないとどこやったか忘れてしまうのでメモ。 3.16 listの中のペアの数を数える関数count-pairの間違った実装が与えられるので、間違った答えを出すような反例を作れという問題。 (define (count-pairs x) (if (not (pair? x)) 0 (+ (…

Excersice 2.63

SICP Exercise 2.63の答案。 a. どちらのプログラムも、(左の枝 要素 右の枝)というリストを再帰的に作るので、同じ結果になる。 b. tree->list-1の方が遅い。リストの結合にappendを使っているから. (append x y) は、O(xの要素数)の時間が掛かる。 tree->l…

SICPはスマホに入れると捗る

習っておくと筋が良くなると言われるschemeを勉強しようと思い立ち、SICPを読み始めた。無料で全文公開だし、演習問題も豊富についてるし、非常に有難い。 wgetで全体を落としてスマホの中に突っ込んどけば、どこでも読める。emacsの上で、emacs-w3mを使って…