Huffman compression reduces the average code length used to represent
the symbols of an alphabet. Symbols of the source alphabet, which occur
frequently, are assigned with short length codes. The general strategy is to allow
the code length to vary from character to character and to ensure that the
frequently occurring characters have shorter codes.