Open Source WEB

##(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")

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us