読者です 読者をやめる 読者になる 読者になる

yy_taroのとりとめのない落書き

メインフレームの導入・設計・構築ができるぐらいの知識があったりする。

SICP始めました 46

SICP四十六日目

 

問題2.68

 色々カンニングしたものの何とか形になった。

 これを素で解けるようにがんばろう。

( define ( encode message tree )
 ( if ( null? message )
  ‘( )
  ( append ( encode-symbol ( car message ) tree )
       ( encode ( cdr message ) tree ) ) ) )

( define ( encode-symbol symbol tree )
 ( if ( leaf? tree )
  ‘( )
  ( cond ( ( memq symbol ( symbols ( left-branch2 tree ) ) ) 
      ( cons 0 ( encode-symbol symbol ( left-branch2 tree ) ) ) )
     ( ( memq symbol ( symbols ( right-branch2 tree ) ) ) 
      ( cons 1 ( encode-symbol symbol ( right-branch2 tree ) ) ) )
     ( else ( errorerror” ) ) ) ) )

 

計算機プログラムの構造と解釈[第2版]

計算機プログラムの構造と解釈[第2版]