Фрагмент для ознакомления
1
Содержание
ВВЕДЕНИЕ 4
1 ЗАДАЧА 1 6
1.1 Постановка задачи 6
1.2 Описание входной и выходной информации 8
1.3 Алгоритм решения задачи 10
1.4 Общие требования к программе 11
1.5 Описание структуры программы для решения задачи 13
1.6 Инструкции по эксплуатации программ 14
1.7 Описание контрольного примера 15
2 ЗАДАЧА 2 17
2.1 Постановка задачи 17
2.2 Описание входной и выходной информации 17
2.3 Алгоритм решения задачи 18
2.4 Общие требования к программе 19
2.5 Описание структуры программы для решения задачи 20
2.6 Инструкции по эксплуатации программы 20
2.7 Описание контрольного примера 21
ЗАКЛЮЧЕНИЕ 23
Библиографический список 24
Приложение 1. Модуль xGraph 26
Приложение 2. Модуль xTree 30
Приложение 3. Модуль MainForm 33
Фрагмент для ознакомления
2
Графом называется множество объектов произвольной природы (вершин) и связанных между собой попарно посредством ребер. Виды графов, способы их описания, различные алгоритмы на них и многое другое описывает такой обширный раздел дискретной математики как теория графов [1].
Графы являются одним из естественных способов описания реального мира и происходящих в нем процессов, что обуславливает их широкое практическое применение в различных областях от полетов в космос до решения примитивных бытовых задач [2].
В частности, графы и деревья применяются в таких областях как:
в сетях и телекоммуникационных системах графы используются для моделирования коммуникационных сетей, телефонных сетей, компьютерных сетей, Интернета;
в транспорте и логистике графы используются для планирования маршрутов, дизайна дорог, управления логистическими системами и т.д.
в графическом моделировании графы используются для моделирования процессов и объектов, включая логическое проектирование, анализ и оптимизацию производственных процессов;
в социальных сетях графы используются для изучения связей между людьми в социальных сетях, анализом параметров групп и состоящих в группах людей;
в компьютерной графике графы используются для создания и рендеринга 3D-моделей и сцен;
в вычислительной теории деревья используются для реализации алгоритмов поиска и сортировки;
в области искусственного интеллекта (ИИ) и машинного обучения деревья решений используются для определения оптимального пути в классификации данных;
в криптографии деревья используются для хранения и защиты ключевых данных и информации;
в базах данных деревья используются при построении индексов для быстрого поиска, сортировки и обработки больших объемов информации в базах данных;
в играх деревья используются для построения иерархических структур и объектов в играх, сюжетных стратегий и т.д.
Таким образом, графы и деревья широко используются во многих областях, где необходима организация, классификация, анализ, сортировка и поиск информации.
Целью данной работы является создание программы, решающей две задачи: одну на ориентированном графе и одну на дереве.
Для достижения цели необходимо реализовать следующие задачи:
проанализировать задачи;
определить входные и выходные данные по каждой задаче;
создать и описать алгоритмы решения задач;
провести тестирование созданной программы по каждой из задач.
1ЗАДАЧА 1
1.1Постановка задачи
Графом называется конечное множество вершин и множество ребер. Каждому ребру сопоставлены две вершины – концы ребра [3]. В данном определении концы у каждого ребра равноправны, т.е. в нет разницы где начало, а где конец у ребра.
Топологическая сортировка, однако, подразумевает что граф ориентирован и не содержит циклов и петель [6,7].
Цикл – это путь в графе, проходящий через несколько ребер и вершин начинающийся и заканчивающийся в одной и той же ве
Показать больше
Фрагмент для ознакомления
3
Библиографический список
1.Теория графов. URL: https://foxford.ru/wiki/informatika/teoriya-grafov?ysclid=liio8e3b39751313883
2.Глава 2. Возможности применения теории графов в различных областях повседневной жизни. URL: https://obuchonok.ru/node/1321
3.Основные определения теории графов. URL: https://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%Dс1%8B%D0%B5_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B8%D0%B8_%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2
4.Лекция 15. Графы. Деревья и лес. URL: http://vuz.exponenta.ru/pdf/L15.html
5.Способы задания графов. URL: https://studme.org/281975/matematika_himiya_fizik/sposoby_zadaniya_grafov
6.Топологическая сортировка. URL: https://brestprog.by/topics/topsort/
7.Топологическая сортировка. URL: https://ru.algorithmica.org/cs/graph-traversals/topological-sorting/
8.Обход в глубину, цвета вершин. URL: https://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D0%B1%D1%85%D0%BE%D0%B4_%D0%B2_%D0%B3%D0%BB%D1%83%D0%B1%D0%B8%D0%BD%D1%83,_%D1%86%D0%B2%D0%B5%D1%82%D0%B0_%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D0%BD
9.Объектно-ориентированное программирование. URL: https://prog-cpp.ru/oop/
10.Кому и для чего нужен C++. URL: https://blog.skillfactory.ru/cplus-komu-i-dlya-chego-nuzhen/
11.TIOBE Index for May 2023. URL: https://www.tiobe.com/tiobe-index/
12.Знакомство с Visual Studio. URL: https://learn.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2022
13.Что такое Visual Studio? URL: https://learn.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2022
14.Особенности работы CLR в .NET Framework [Электронный ресурс]. – URL: https://habr.com/ru/post/90426
15.Стандартная библиотека шаблонов STL. URL: http://techn.sstu.ru/kafedri/%D0%BF%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F/1/MetMat/murashev/oop/lec/lec11.htm
16.Класс vector. URL: https://learn.microsoft.com/ru-ru/cpp/standard-library/vector-class?view=msvc-170
17.Дерево как структура данныхURL: https://otus.ru/journal/derevo-kak-struktura-dannyh/