Parallel Construction of Huffman Codes
For decades, different algorithms were proposed addressing the issue of constructing Huffman Codes. In this paper we propose a detailed time-efficient three-phase parallel algorithm for generating Huffman codes on CREW PRAM model exploiting n processors, where n is equal to the number of symbols in the input alphabet. First the codeword length for each symbol is computed concurrently with a direct parallelization of the Huffman tree construction algorithm eliminating the complexity of dealing with the original tree-like data structure. Then the Huffman codes corresponding to symbols are generated in parallel based on a recursive formula. The performance of the proposed algorithm depends directly on the height of the corresponding Huffman tree. It achieves an O(n) time complexity in the worst case whichis rarely encountered in practice.
KeywordsData Structures Parallel Algorithms Huffman Codes Optimal Prefix Codes PRAM
Unable to display preview. Download preview PDF.
- M. J. Atallah, S. R. Kosaraju, L. L. Larmore, G. L. Miller and S -H. Teng, "Constructing trees in parallel", ACMSIGACT, Proc. 1st Annual ACM Symposium on Parallel Algorithms and Architectures, June 1989, pp. 421-431.Google Scholar
- T. J. Fexguson and J. H. Rabinowitz, “Self-synchronizing Huffman Codes”, IEEE Trans. Inform. Theory, Vol. IT-30, July 1984, pp. 687-693.Google Scholar
- R. Hashemian, “Memory Efficient and High Speed search Huffman codes”. IEEE Trans. On Comm., Vol.43, No.10, Oct. 1995.Google Scholar
- R. Hashemian, “Direct Huffman coding and decoding using the table of code-lengths”, Proc. International Conf. on Inform. Technology, Computers and Communications (ITCC’03), 2003.Google Scholar
- D. G. Kirkpatrick and T. M. Przytycka, “Parallel construction of near optimal binary search trees”, ACM SIGACT, Proc, 2nd Annual ACM Sump. on Parallel Algorithms and Architectures, July 1990, pp. 234-243.Google Scholar
- C. Kruskal. “Searching, merging and sorting in parallel computations”, IEEE Trans. Comput., pp. 942-946, 1983.Google Scholar
- R. L. Milidiú, E. S. Laber and A. A. Pessoa, “A work efficient parallel algorith for constructing Huffman codes”, DCC’99, Proc. Date Compression Conference, Mar. 1999.Google Scholar
- S. A. Ostadzadeh, M. A. Moulavi, Z. Zeinalpour, “Massive Concurrent Deletion of Keys in B*-tree”, Technical Report, Azad University of Mashhad, Mashhad, Iran, Sep. 2005.Google Scholar
- J. Van Leeuwen, "On the construction of Huffman trees”, 3rd International Colloquium on Automata, Languages and Programming, Jul. 1976, pp. 382-410.Google Scholar