Тип работы:
Предмет:
Язык работы:


ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ СТРУКТУР ДАННЫХ НА БАЗЕ STL

Работа №182693

Тип работы

Бакалаврская работа

Предмет

математика

Объем работы70
Год сдачи2016
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
6
Не подходит работа?

Узнай цену на написание


Реферат 2
Введение 5
1 Постановка задачи 7
2 Контейнеры в STL 8
3 Последовательные контейнеры 10
4 Ассоциативные контейнеры 12
5 Проектирование пользовательской структуры 14
6 Функциональный интерфейс 18
7 Шаблон структуры 20
8 Оценка сложности базовых функций 22
9 Обобщенные алгоритмы для работы с суперпозицией контейнеров ... 52
10 Тестирование структуры 54
11 Структура программы 59
Заключение 70
Список литературы 71


Работа с разными структурами данных является неотъемлемой частью разработки программного обеспечения. Сложность реализации и качество работы программ существенно зависит от их правильного выбора. Это понимание дало начало языкам программирования, в которых именно структуры данных, а не алгоритмы, ставятся во главу архитектуры программного средства. Большая часть таких языков обладает определённым типом модульности, позволяющим структурам данных безопасно переиспользоваться в различных приложениях. Объектно-ориентированный язык C++ является примером такого подхода.
В настоящее время для языка C++ имеются библиотеки, в которых реализованы основные структуры и алгоритмы работы с ними, в частности Стандартная Библиотека Шаблонов (Standard Template Library (STL)). Для каждой структуры данных в STL определен ряд стандартных функций. Они имеют разные реализации, которые эффективно использовать для различных задач. Основные из них это функции вставки, удаления и поиска элементов, а также функции, которые реализуют доступ к элементам. От их выбора существенно зависит время работы алгоритма, так как они предлагают различные компромиссы в сложности выполнения.
Использование данной библиотеки позволяет значительно повысить универсальность программ и их переносимость, а также её использование ускоряет разработку конечного продукта.
Чаще всего приходится из основных структур STL проектировать свои составные структуры. Целью данной работы будет разработка программы, которая при помощи визуальных средств позволит делать это автоматически. Результатом её работы будет библиотека для языка C++, в которой будет содержаться реализация пользовательской структуры данных.
Так как в библиотеке будет составная структура, то необходимо учитывать особенности всех включенных в неё контейнерных классов. Выбирая различные способы работы с каждой структурой, можно сильно влиять на работу всей суперпозиции в целом. Чтобы обеспечить приемлемую сложность выполнения базовых операций в составной структуре, необходимо комбинировать предложенные стандартные функции в зависимости от текущей ситуации. Таким образом, нужно реализовать такие алгоритмы работы с полученной структурой, которые бы учитывали многие её особенности. Очевидно, что эти алгоритмы будут работать медленнее по сравнению с работой стандартных алгоритмов в наилучших и худших случаях. С другой стороны, можно обеспечить улучшенную работу по сравнению со стандартной работой алгоритмов в средних случаях.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате данной работы реализовано инструментальное программное средство, позволяющее проектировать структуры данных. Эти структуры базируются на выбранных контейнерах из STL и имеют минимальный набор функций для работы с ними. В результате проектирования мы получаем библиотеку для языка C++, которую очень просто подключить к проекту и использовать свою структуру любым образом. При создании кода структуры учитываются особенности используемых контейнеров для увеличения скорости работы. Эти особенности подтвердились в результате тестирования всех базовых функции рассматриваемых контейнеров из Стандартной библиотеки шаблонов. На этих результатах предложены алгоритмы работы с суперпозицией этих контейнеров. Эти алгоритмы учитывают основные особенности входящих контейнерных классов, позволяя обеспечить улучшенную работу по сравнению с работой стандартных алгоритмов в средних случаях.


1. Павловская Т.А., C/C++ Программирование на языке высокого уровня / Т.А. Павловская. - СПб.: Питер, 2013 - 461 с.
2. Стандартная библиотека шаблонов [Электронный ресурс] // URL: https: //ru.wikipedia. огр/а1к1/Стандартная_библиотека_шаблонов (дата обращения: 03.03.2016).
3. XML [Электронный ресурс] // URL: https://ru.wikipedia.org/wiki/XML (дата обращения: 03.03.2016).
4. Extensible Markup Language (XML) [Электронный ресурс] // URL: https://www.w3.org/XML/ (дата обращения: 03.03.2016).
5. Standard Template Library Programmer's Guide [Электронный ресурс] // URL: http://www.sgi.com/tech/stl/index.html (дата обращения: 03.03.2016).
6. Working Draft, Standard for Programming Language C++ [Электронный ресурс] // URL:http://www.open-std.org/ (дата обращения: 14.05.2016).
7. Templates (C++) [Электронный pecypc]//URL: https://msdn.microsoft.com/ en-us/library/y097fkab.aspx (дата обращения: 14.05.2016).



Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ