- •Курсовая работа по дисциплине «Алгоритмы и структуры данных» Тема: Реализация алгоритма поиска минимального остова на основе алгоритма Краскала
- •Задание на курсовую работу
- •Введение
- •Алгоритм Крускала и определение графа
- •2. Структура ребра
- •3. Структура графа
- •4. Сортировка пузырьком
- •5. Обход графа
- •6. Чтение матрицы смежности из файла
- •7. Список смежности
- •8. Матрица инцидентности
- •9. Сортировка ребер в лексикографическом порядке
- •10. Оценка общей временной сложности
- •Заключение
- •Список использованных источников
- •Приложение а. Код программы
- •Приложение в пример работы программы
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В. И. УЛЬЯНОВА (ЛЕНИНА)
Курсовая работа по дисциплине «Алгоритмы и структуры данных» Тема: Реализация алгоритма поиска минимального остова на основе алгоритма Краскала
Студентка гр. 2395 ____________ Кузьмичева Ю.И.
Преподаватель ____________ Пелевин М. С.
Санкт-Петербург
2023
Задание на курсовую работу
Студентка Кузьмичева Ю.И.
Группа 2395
Тема работы: Реализация алгоритма поиска минимального остова на основе алгоритма Краскала (Крускала).
Исходные данные:
Разработать программу для поиска минимального остова дерева с использованием алгоритма Краскала. Вывести результат в виде отсортированных по имени пар и суммарный вес графа. Максимальный размер входных данных: 50 вершин. Вершины могут быть заданы любой текстовой последовательностью без пробелов. Вес ребра ограничен интервалом от 1 до 1023 включительно.
Содержание пояснительной записки:
«Содержание», «Введение», «Основная часть», «Заключение», «Список использованных источников», «Приложение A ̶ полный код».
Предполагаемый объем пояснительной записки:
Не менее 20 страниц.
Дата выдачи задания: 03.12.2023
Дата сдачи курсового проекта: 22.12.2023
Дата защиты курсового проекта: 22.12.2023
Студент |
|
Кузьмичева Ю.И. |
Преподаватель |
|
Пелевин М. С. |
АННОТАЦИЯ
Алгоритма Краскала — это алгоритм поиска минимального остовного дерева в связном неориентированном графе. Алгоритм Краскала работает на основе жадной стратегии, то есть на каждом шаге выбирает ребро с минимальным весом, которое не создаст цикл в графе, и добавляет его в остовное дерево. Этот процесс продолжается до тех пор, пока все вершины графа не будут связаны между собой или пока не будет достигнута заданная степень связности.
Задача: разработать на языке C++ консольное приложение для нахождения минимального остова графа. В отчете присутствует исходный код программы.
SUMMARY
Kraskal's algorithm is an algorithm for finding the minimum spanning tree in a connected undirected graph. Kraskal's algorithm works on the basis of a greedy strategy, that is, at each step it selects an edge with a minimum weight that will not create a cycle in the graph, and adds it to the spanning tree. This process continues until all vertices of the graph are connected to each other or until a given degree of connectivity is reached.
Task: to develop a console application in C++ to find the minimum backbone of a graph. The report contains the source code of the program.
СОДЕРЖАНИЕ
Введение 5
1. Алгоритм Крускала и определение графа 6
2. Структура ребра 7
3. Структура графа 7
4. Сортировка пузырьком 8
5. Обход графа 9
6. Чтение матрицы смежности из файла 10
7. Список смежности 11
8. Матрица инцидентности 12
9. Сортировка ребер в лексикографическом порядке 13
10. Оценка общей временной сложности 14
Заключение 14
Список использованных источников 15
Приложение А: Исходный код программы 16
Приложение В: Пример работы программы 26
