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

rubyとschemeでmemo(fib)

sicpでやったfibonachi数の計算のmemo化をrubyでもしてみる rubyのコード class Memoize def initialize @a = [] end def memo_fib n @a[n] = @a[n] || fib(n) end def fib n case n when 0 0 when 1 1 else fib(n-2) + fib(n-1) end end end #benchmark用 m…

(sicp37)m3.27

memo化 (define (make-table) (let ((table (cons '*table* '()))) (define (insert! key value) (let ((record (assoc key (cdr table)))) (if record (set-cdr! record value) (set-cdr! table (cons (cons key value) (cdr table)))))) (define (lookup k…