Composite Design Pattern Application and Application of the LINQ Technology in the Context of the Prefix Encoding of Text Using the Huffman Algorithm

Authors

  • Олександр Миколайович Солошенко NTUU KPI, Ukraine

DOI:

https://doi.org/10.20535/1810-0546.2014.6.35944

Keywords:

Huffman algorithm, Huffman coding, Object-oriented design, Composite design pattern, LINQ, Visual C#, Information and coding theory, Prefix encoding, Entropy, Shannon lemma

Abstract

The designed methods are the implementation of the object-oriented architecture as the class diagram corresponding to the implementation of the Composite design pattern according to the requirements of the flexible implementation of the Huffman tree, the method of the dynamic iterative Huffman tree building. This tree uses the dynamic collection of the node interface using the Visual C# language and the creation method of the initial set of the leaf nodes using the LINQ technology. The implementation methodologies are the idea of the Composite design pattern for the handling with the tree hierarchical structures, the possibilities of the Visual Studio 2010 integrated development environment and the possibilities of the .NET 4.0 Framework and the LINQ technology within Visual C# programming language. The research results are the object-oriented program code in Visual C# language and the class diagram in UML language that illustrates application of the design pattern and principles of inheritance, abstraction, polymorphism and encapsulation for the implementation of the flexible and scalable object architecture of the Huffman tree. The advantages of the mentioned software architecture, the examples of the organization and the storage of large arrays of the text data with the key for decoding symbol table are presented. This proves practical value of theShannonlemma in the field of information and coding theory.

Author Biography

Олександр Миколайович Солошенко, NTUU KPI

Soloshenko Oleksandr M., postgraduate student 

References

Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Д. Ватолин, А. Ратушняк, М. Смирнов и др. – М.: ДИАЛОГ-МИФИ, 2002. – 384 с.

Теорія інформації та кодування: Навч. посібник / В.Л. Кожевников, А.В. Кожевников. – Д.: Нац. гірн. ун-т, 2011. – 108 с.

Кавчук С.В. Сборник примеров и задач по теории информации. Руководство для практических занятий на базе Mathcad 6.0 Plus: Учебн. пособие. – Таганрог: Изд-во ТРТУ, 2002. – 64 с.

мм

Паттерны проектирования / Э. Фримен, К. Сьерра, Б. Бейтс. – СПб.: Питер, 2011. – 656 с.

Стиллмен Э., Грин Дж. Изучаем C#. – 2-е изд. – СПб.: Питер, 2011. – 696 с.

Фленов М.Е. Transact-SQL. – СПб.: БХВ-Петербург, 2006. – 576 с.

Published

2014-12-26

Issue

Section

Art