Composite Design Pattern Application and Application of the LINQ Technology in the Context of the Prefix Encoding of Text Using the Huffman Algorithm
Autor: | Soloshenko, Oleksandr M. |
---|---|
Jazyk: | ukrajinština |
Rok vydání: | 2014 |
Předmět: |
префиксное кодирование
information and coding theory Shannon lemma алгоритм Хаффмана prefix encoding об’єктно-орієнтоване проектування 519.72 [681.516.77] кодування Хаффмана Huffman algorithm Huffman coding кодирование Хаффмана ентропія теория информации и кодирования префіксне кодування шаблон проектування Composite энтропия лема Шеннона теорія інформації та кодування объектно-ориентированное проектирование Composite design pattern шаблон проектирования Composite object-oriented design LINQ entropy Visual C# лемма Шеннона |
Zdroj: | Наукові вісті НТУУ «КПІ»: науково-технічний журнал |
Popis: | Розроблено метод реалізації об’єктно-орієнтованої архітектури у формі діаграми класів, що відповідає впровадженню шаблона проектування Composite згідно з потребами гнучкої реалізації дерева Хаффмана, а також метод динамічної ітеративної побудови дерева Хаффмана за допомогою динамічної колекції від інтерфейсу вузла мовою Visual C# і метод створення початкової множини листкових вузлів за допомогою технології LINQ. Методикою реалізації є ідея шаблону проектування Composite для роботи з деревоподібними ієрархічними структурами, можливості середовища розробки Visual Studio 2010, платформи .NET 4.0 та технології LINQ в межах мови програмування Visual C#. Результатами дослідження став об’єктно-орієнтований програмний код мовою Visual C# та діаграма класів мовою UML, які ілюструють застосування шаблону проектування та принципів наслідування, абстрагування, поліморфізму та інкапсуляції для реалізації гнучкої та масштабованої об’єктної архітектури дерева Хаффмана. Наведено переваги методів цієї програмної архітектури та прикладів організації і зберігання великих масивів текстових даних разом з ключем декодування таблиці символів, що доводить практичну цінність леми Шеннона в галузі теорії інформації та кодування. 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 the Shannon lemma in the field of information and coding theory. Разработан метод реализации объектно-ориентированной архитектуры в форме диаграммы классов, что отвечает внедрению шаблона проектирования Composite согласно с требованиями гибкой реализации дерева Хаффмана, а также метод динамического итеративного построения дерева Хаффмана с помощью динамической коллекции интерфейса узла на языке Visual C# и метод создания начального множества листовых узлов с помощью технологии LINQ. Методикой реализации являются идея шаблона проектирования Composite для работы с древоподобными иерархическими структурами, возможности среды разработки Visual Studio 2010, платформы .NET 4.0 и технологии LINQ в рамках языка программирования Visual C#. Результатами исследования являются объектно-ориентированный программный код на языке Visual C# и диаграмма классов на языке UML, что иллюстрируют применение шаблона проектирования и принципов наследования, абстрагирования, полиморфизма и инкапсуляции для реализации гибкой и масштабируемой объектной архитектуры дерева Хаффмана. Приведены преимущества методов данной программной архитектуры и примеров организации и хранения больших массивов текстовых данных вместе с ключом декодирования таблицы символов, что доказывает практическую ценность леммы Шеннона в области теории информации и кодирования. |
Databáze: | OpenAIRE |
Externí odkaz: |