Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
##(link2sicp "book-Z-H-16.html#%_thm_2.69" "Exercise 2.69")
解答例
(define (successive-merge set)
(if (= 1 (length set))
(car set)
(successive-merge
(adjoin-set (make-code-tree (car set) (cadr set)) (cddr set)))))
実行例
gosh> (define tree (generate-huffman-tree '((A 4) (B 2) (C 1) (D 1)))) tree gosh> (define sample-message '(A D A B B C A)) sample-message gosh> (define encoded-message (encode sample-message tree)) encoded-message gosh> (define decoded-message (decode encoded-message tree)) decoded-message gosh> (print tree) ((leaf A 4) ((leaf B 2) ((leaf D 1) (leaf C 1) (D C) 2) (B D C) 4) (A B D C) 8) #<undef> gosh> (print sample-message) (A D A B B C A) #<undef> gosh> (print encoded-message) (0 1 1 0 0 1 0 1 0 1 1 1 0) #<undef> gosh> (print decoded-message) (A D A B B C A) #<undef>
コード
##(sicp-answer-code "ex-2.69.scm")