Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практики(Вариант №7) / Практическая работа №6

.pdf
Скачиваний:
0
Добавлен:
23.02.2026
Размер:
451.93 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)

ГРАФЫ Отчет по практической работе №6 по дисциплине «Структуры данных»

Студент гр.

________

__.__.2025

Принял

Преподаватель кафедры КИБЭВС

________ Д.Р. Уразаев __.__.2025

Томск 2025

Задание

Реализовать возможность работы с графом N узлов, M ребер. Выберете самостоятельно структуру. Обеспечьте следующие интерфейсные методы:

ввод графа (можно случайным образом,можно вводить с клавиатуры) НЕДОПУСТИМО работать только с конечным числом ребер

иузлов. Приложение должно позволять вводить разные графы.

вывод графа - матрица смежности или весов

Вариант 3. Задана система дорог. Определить кратчайшее расстояние из города А в город В, при этом путь не должен проходить через город С и D. Восстановить путь.

2

 

Оглавление

Задание...................................................................................................................

2

Введение.................................................................................................................

4

1 ХОД РАБОТЫ....................................................................................................

5

Заключение.............................................................................................................

9

Приложение А......................................................................................................

10

3

Введение

Целью работы является реализация программы для работы с графами, представляющими систему дорог с переменным числом узлов и рёбер. Программа позволяет вводить графы случайным образом или с клавиатуры и выводить матрицу смежности или весов. Основное внимание уделяется нахождению города с максимальной суммой кратчайших расстояний до остальных городов.

4

1 ХОД РАБОТЫ

В работе реализуется ориентированный граф и матрица смежности. Ориентированный граф — В ориентированном графе рёбра имеют

направление, что означает, что если есть ребро от узла A к узлу B, то это не подразумевает наличие ребра от B к A.

Матрица смежности — это квадратная матрица, которая используется для представления графа. Если граф содержит N узлов, матрица будет размером NxN.

Graph – инициализирует граф с заданным количеством городов, проверяет, чтобы количество городов было больше нуля, создает матрицу смежности, устанавливая расстояние между городами на 0 для одного и того же города и на очень большое значение для всех остальных пар. (рис .1)

5

Рисунок 1 — Graph

AddEdge – добавляет ребро между двумя городами с заданным весом, проверяет корректность индексов и положительность веса, устанавливает расстояние в матрице смежности для ориентированного графа (рис. 2)

Рисунок 2 — AddEdge

6

PrintAdjMatrix — выводит матрицу смежности на экран (рис. 3)

Рисунок 3 — PrintAdjMatrix

FloydWarshall – реализует алгоритм Флойда-Уоршелла для нахождения кратчайших расстояний между всеми парами городов, создаёт новую матрицу расстояний, копируя данные из матрицы смежности и обновляя значения, если обнаруживаются более короткие пути через промежуточные города (рис. 4)

7

Рисунок 4 — FloydWarshall

FindShortestPathWithAvoidance — предназначена для нахождения кратчайшего пути между двумя городами в ориентированном графе с исключением указанных городов из маршрута. (рис. 5)

8

Рисунок 5 — FindShortestPathWithAvoidance

9

Заключение

В ходе работы была успешно реализована программа для анализа графов дорожной сети. Выполнены задачи по вводу, выводу и поиску города с максимальными кратчайшими расстояниями. Это может быть полезным для оптимизации транспортных маршрутов.

10

Соседние файлы в папке Практики(Вариант №7)