├── Readme.markdown ├── cpp ├── AdaptiveHuffmanCompress.cpp ├── AdaptiveHuffmanDecompress.cpp ├── BitIoStream.cpp ├── BitIoStream.hpp ├── CanonicalCode.cpp ├── CanonicalCode.hpp ├── CodeTree.cpp ├── CodeTree.hpp ├── FrequencyTable.cpp ├── FrequencyTable.hpp ├── HuffmanCoder.cpp ├── HuffmanCoder.hpp ├── HuffmanCompress.cpp ├── HuffmanDecompress.cpp └── Makefile ├── java ├── src │ ├── AdaptiveHuffmanCompress.java │ ├── AdaptiveHuffmanDecompress.java │ ├── BitInputStream.java │ ├── BitOutputStream.java │ ├── CanonicalCode.java │ ├── CodeTree.java │ ├── FrequencyTable.java │ ├── HuffmanCompress.java │ ├── HuffmanDecoder.java │ ├── HuffmanDecompress.java │ ├── HuffmanEncoder.java │ ├── InternalNode.java │ ├── Leaf.java │ └── Node.java └── test │ ├── AdaptiveHuffmanCompressTest.java │ ├── HuffmanCodingTest.java │ └── HuffmanCompressTest.java └── python ├── adaptive-huffman-compress.py ├── adaptive-huffman-decompress.py ├── huffman-compress.py ├── huffman-decompress.py └── huffmancoding.py /Readme.markdown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/Readme.markdown -------------------------------------------------------------------------------- /cpp/AdaptiveHuffmanCompress.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/AdaptiveHuffmanCompress.cpp -------------------------------------------------------------------------------- /cpp/AdaptiveHuffmanDecompress.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/AdaptiveHuffmanDecompress.cpp -------------------------------------------------------------------------------- /cpp/BitIoStream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/BitIoStream.cpp -------------------------------------------------------------------------------- /cpp/BitIoStream.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/BitIoStream.hpp -------------------------------------------------------------------------------- /cpp/CanonicalCode.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/CanonicalCode.cpp -------------------------------------------------------------------------------- /cpp/CanonicalCode.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/CanonicalCode.hpp -------------------------------------------------------------------------------- /cpp/CodeTree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/CodeTree.cpp -------------------------------------------------------------------------------- /cpp/CodeTree.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/CodeTree.hpp -------------------------------------------------------------------------------- /cpp/FrequencyTable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/FrequencyTable.cpp -------------------------------------------------------------------------------- /cpp/FrequencyTable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/FrequencyTable.hpp -------------------------------------------------------------------------------- /cpp/HuffmanCoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/HuffmanCoder.cpp -------------------------------------------------------------------------------- /cpp/HuffmanCoder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/HuffmanCoder.hpp -------------------------------------------------------------------------------- /cpp/HuffmanCompress.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/HuffmanCompress.cpp -------------------------------------------------------------------------------- /cpp/HuffmanDecompress.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/HuffmanDecompress.cpp -------------------------------------------------------------------------------- /cpp/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/cpp/Makefile -------------------------------------------------------------------------------- /java/src/AdaptiveHuffmanCompress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/AdaptiveHuffmanCompress.java -------------------------------------------------------------------------------- /java/src/AdaptiveHuffmanDecompress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/AdaptiveHuffmanDecompress.java -------------------------------------------------------------------------------- /java/src/BitInputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/BitInputStream.java -------------------------------------------------------------------------------- /java/src/BitOutputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/BitOutputStream.java -------------------------------------------------------------------------------- /java/src/CanonicalCode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/CanonicalCode.java -------------------------------------------------------------------------------- /java/src/CodeTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/CodeTree.java -------------------------------------------------------------------------------- /java/src/FrequencyTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/FrequencyTable.java -------------------------------------------------------------------------------- /java/src/HuffmanCompress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/HuffmanCompress.java -------------------------------------------------------------------------------- /java/src/HuffmanDecoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/HuffmanDecoder.java -------------------------------------------------------------------------------- /java/src/HuffmanDecompress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/HuffmanDecompress.java -------------------------------------------------------------------------------- /java/src/HuffmanEncoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/HuffmanEncoder.java -------------------------------------------------------------------------------- /java/src/InternalNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/InternalNode.java -------------------------------------------------------------------------------- /java/src/Leaf.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/Leaf.java -------------------------------------------------------------------------------- /java/src/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/src/Node.java -------------------------------------------------------------------------------- /java/test/AdaptiveHuffmanCompressTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/test/AdaptiveHuffmanCompressTest.java -------------------------------------------------------------------------------- /java/test/HuffmanCodingTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/test/HuffmanCodingTest.java -------------------------------------------------------------------------------- /java/test/HuffmanCompressTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/java/test/HuffmanCompressTest.java -------------------------------------------------------------------------------- /python/adaptive-huffman-compress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/python/adaptive-huffman-compress.py -------------------------------------------------------------------------------- /python/adaptive-huffman-decompress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/python/adaptive-huffman-decompress.py -------------------------------------------------------------------------------- /python/huffman-compress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/python/huffman-compress.py -------------------------------------------------------------------------------- /python/huffman-decompress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/python/huffman-decompress.py -------------------------------------------------------------------------------- /python/huffmancoding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayuki/Reference-Huffman-coding/HEAD/python/huffmancoding.py --------------------------------------------------------------------------------