Composite Design Pattern Application and Application of the LINQ Technology in the Context of the Prefix Encoding of Text Using the Huffman Algorithm
Keywords:Huffman algorithm, Huffman coding, Object-oriented design, Composite design pattern, LINQ, Visual C#, Information and coding theory, Prefix encoding, Entropy, Shannon lemma
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.
Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Д. Ватолин, А. Ратушняк, М. Смирнов и др. – М.: ДИАЛОГ-МИФИ, 2002. – 384 с.
Теорія інформації та кодування: Навч. посібник / В.Л. Кожевников, А.В. Кожевников. – Д.: Нац. гірн. ун-т, 2011. – 108 с.
Кавчук С.В. Сборник примеров и задач по теории информации. Руководство для практических занятий на базе Mathcad 6.0 Plus: Учебн. пособие. – Таганрог: Изд-во ТРТУ, 2002. – 64 с.
Паттерны проектирования / Э. Фримен, К. Сьерра, Б. Бейтс. – СПб.: Питер, 2011. – 656 с.
Стиллмен Э., Грин Дж. Изучаем C#. – 2-е изд. – СПб.: Питер, 2011. – 696 с.
Фленов М.Е. Transact-SQL. – СПб.: БХВ-Петербург, 2006. – 576 с.
LicenseCopyright (c) 2017 NTUU KPI Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under CC BY 4.0 that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work