2013年8月5日月曜日

開発環境

計算機プログラムの構造と解釈(Gerald Jay Sussman(原著)、Julie Sussman(原著)、Harold Abelson(原著)、和田 英一(翻訳)、ピアソンエデュケーション、原書: Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)(SICP))の3(標準部品化力, オブジェクトおよび状態)、3.5(ストリーム)、3.5.1(ストリームは遅延リスト)、ストリームの実装の働き、delayとforceの実装、問題 3.56、問題 3.57を解いてみる。

その他参考書籍

問題 3.56

コード(BBEdit)

sample.scm

(define S (cons-stream 1 (merge (scale-stream S 2)
                                (merge (scale-stream S 3)
                                       (scale-stream S 5)))))

問題 3.57

n = 0, 1のときは0回。n > 1のときは、n - 1回。

memo-proc手続きによる最適化(メモ化)をしなかった場合。

n > 1のときn番目のFibonacci数を計算するときの加算の回数。

 1 + (1 + 2) + … + (1 + 2 + … + ((n - 2) - 1)) + (1 + 2 + … + (n - 1))

よって、指数的に大きくなる。

0 コメント:

コメントを投稿