Huffman encoding and decoding algorithm using IJulia - Vidhyaa, V.G.; Rajalakshmi, S. Aarthi; Raghavan, Ragavi; Venu Gopal, G.S.V.; Gandhiraj, R.. (2016 International Conference on Communication and Signal Processing (ICCSP), 2016)
In order to familiarize and comprehend the learning of Huffman algorithm in a simpler way, we have implemented Huffman algorithm in Julia language which can be visualized in an interactive platform called IJulia supported by Jupyter and it creates a learning platform that increases the understanding of the coding technique for students. It involves a set of commands that are understandable and familiar to the user. Data compression is an essential requirement for lossless data transmission. Message bits are encoded in the transmitter end so as to avoid errors and redundancy during the transmission of information. Huffman code is a prefix type code which compresses the message bits by knowing the frequency of occurrence of each character or probability of each symbol. A Huffman/binary tree is formed based on the occurrence of the symbols and symbols are then encoded. Huffman algorithm implements bottom-up approach. Each symbol encoded with the Huffman tree logic is decodable. Each encoded information can be decoded by tracing from the top of the tree to the required symbol. This paper introduces the implementation of this algorithm using Julia programming language supported by Jupyter platform. This encoding algorithm is the most efficient way of compressing data.