Huffman coding: Difference between revisions
Content added Content deleted
(Add factor example) |
m (Minor cleanup of factor code) |
||
Line 2,186: | Line 2,186: | ||
: (huffman-tree) ( nodes -- tree ) |
: (huffman-tree) ( nodes -- tree ) |
||
dup rest empty? |
dup rest empty? |
||
[ ] [ |
[ first ] [ |
||
{ { weight>> <=> } } sort-by |
{ { weight>> <=> } } sort-by |
||
[ rest rest ] [ first ] |
[ rest rest ] [ first ] |
||
Line 2,233: | Line 2,233: | ||
: huffman ( sequence -- nodes ) |
: huffman ( sequence -- nodes ) |
||
H{ } clone (huffman) values |
H{ } clone (huffman) values |
||
[ (huffman-tree) |
[ (huffman-tree) { } (huffman-encoding) ] keep ; |
||
(huffman-encoding) ] keep ; |
|||
! --------------------------------- |
! --------------------------------- |