Class Huffman


  • public class Huffman
    extends Object
    The Huffman class provides static methods for compressing and expanding a binary input using Huffman codes over the 8-bit extended ASCII alphabet.

    For additional documentation, see Section 5.5 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

    Author:
    Robert Sedgewick, Kevin Wayne
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void compress()
      Reads a sequence of 8-bit bytes from standard input; compresses them using Huffman codes with an 8-bit alphabet; and writes the results to standard output.
      static void expand()
      Reads a sequence of bits that represents a Huffman-compressed message from standard input; expands them; and writes the results to standard output.
      static void main​(String[] args)
      Sample client that calls compress() if the command-line argument is "-" an expand() if it is "+".
    • Method Detail

      • compress

        public static void compress()
        Reads a sequence of 8-bit bytes from standard input; compresses them using Huffman codes with an 8-bit alphabet; and writes the results to standard output.
      • expand

        public static void expand()
        Reads a sequence of bits that represents a Huffman-compressed message from standard input; expands them; and writes the results to standard output.
      • main

        public static void main​(String[] args)
        Sample client that calls compress() if the command-line argument is "-" an expand() if it is "+".
        Parameters:
        args - the command-line arguments