From: "Eric I." Date: 2007-05-15T10:55:07+09:00 Subject: Re: Huffman Encoder (#123) My solution to the quiz can be found here: http://pastie.caboo.se/61613 This solution has a number of features which might make it different to other solutions submitted. It encodes to and decodes from actual binary data, not strings of "0" and "1" characters. It is able to serialize and deserialize the Huffman encoder (which is a hash table, not a tree). It uses a linear algorithm to create the Huffman code from the character frequency data. And beyond that, it was written with an attempt to be efficient time-wise and memory-wise. It uses an end-of-message token (:eom) to mark the end of the encoded message. It therefore is able to handle messages that use 256 characters plus the 1 token. It recognizes that with large messages some characters could be encoded with more than 8 bits, and it handles those situations. And finally it makes an attempt to recognize corrupt data, both in terms of the Huffman encoded message and the serialized encoder. Eric