6 (define (generate-huffman-tree pairs)
7 (successive-merge (make-leaf-set pairs)))
9 (define (successive-merge set)
10 (cond [(empty? (rest set)) (first set)]
11 [else (successive-merge (adjoin-set (make-code-tree (first set)
13 (rest (rest set))))]))
16 (let ([sample-tree (make-code-tree (make-leaf 'A 4)
19 (make-code-tree (make-leaf 'D 1)
22 (generate-huffman-tree '((A 4) (B 2) (C 1) (D 1)))
25 (provide generate-huffman-tree)