Лабораторная работа №6. Структуры и алгоритмы обработки данных. Нахождение кратчайших путей в графе. Алгоритм Дейкстры.
Состав работы
|
|
Работа представляет собой файл, который можно открыть в программе:
- Microsoft Word
Описание
Лабораторная работа №6. Структуры и алгоритмы обработки данных. Нахождение кратчайших путей в графе. Алгоритм Дейкстры.
Постановка задачи:
Найти кратчайший путь между двумя фиксированными вершинами заданного графа с помощью алгоритма Дейкстры.
Теория
Задача о кратчайшем пути – задача поиска самого короткого пути (цепи) между двумя точками (вершинами) на графе, в которой минимизируется сумма весов рёбер, составляющих путь.
Алгоритм нахождения кратчайшего пути между двумя фиксированными вершинами графа
1. Задаем метки всех вершин максимально возможными значениями.
2. Метку начальной вершины задаем нулем.
3. Текущую вершину задаем значением начальной вершиной.
4. Пока не посещены все вершины графа:
4.1. Посещаем вершину.
4.2. Если текущая вершина равна конечной вершине, то
4.2.1. Переходим к шагу 5.
4.3. Перебираем все смежные вершины текущей вершины:
4.3.1. Новую метку задаем суммой метки текущей вершины и расстоянием от смежной вершины к текущей вершине.
4.3.2. Если новая метка меньше метки текущей вершины, то
4.3.2.1. Метке текущей вершины задаем значение новой метки.
4.4. Текущей вершине задаем значение не посещённой вершины с наименьшим значением метки.
5. Заносим в стек вершин кратчайшего пути конечную вершину.
6. Пока вершина стека не равна начальной вершине:
6.1. Перебираем все смежные вершины вершины стека:
6.1.1. Если метка смежной вершины равна разности метки вершины стека и расстоянием от смежной вершиной к вершине стека, то
6.1.1.1. Заносим смежную вершину в стек.
6.1.1.2. Переходим к шагу 6.2.
6.2. Если ни одна смежная вершина не была занесена в стек вершин кратчайшего пути, то
6.2.1. Выводим сообщение «Между вершинами нет пути».
6.2.2. Завершаем алгоритм.
7. Выводим кратчайший путь на экран.
8. Выводим метку конечной вершины (длину пути) на экран.
Входные данные:
• matrix[,] – матрица смежности графа.
• start – номер начальной вершины.
• end – номер конечной вершины.
Выходные данные:
• status – текстовое поле для вывода вершин кратчайшего пути между вершинами и длины пути.
• path – стек для хранения вершин кратчайшего пути между вершинами.
• distance – длина кратчайшего пути между заданными вершинами.
Постановка задачи:
Найти кратчайший путь между двумя фиксированными вершинами заданного графа с помощью алгоритма Дейкстры.
Теория
Задача о кратчайшем пути – задача поиска самого короткого пути (цепи) между двумя точками (вершинами) на графе, в которой минимизируется сумма весов рёбер, составляющих путь.
Алгоритм нахождения кратчайшего пути между двумя фиксированными вершинами графа
1. Задаем метки всех вершин максимально возможными значениями.
2. Метку начальной вершины задаем нулем.
3. Текущую вершину задаем значением начальной вершиной.
4. Пока не посещены все вершины графа:
4.1. Посещаем вершину.
4.2. Если текущая вершина равна конечной вершине, то
4.2.1. Переходим к шагу 5.
4.3. Перебираем все смежные вершины текущей вершины:
4.3.1. Новую метку задаем суммой метки текущей вершины и расстоянием от смежной вершины к текущей вершине.
4.3.2. Если новая метка меньше метки текущей вершины, то
4.3.2.1. Метке текущей вершины задаем значение новой метки.
4.4. Текущей вершине задаем значение не посещённой вершины с наименьшим значением метки.
5. Заносим в стек вершин кратчайшего пути конечную вершину.
6. Пока вершина стека не равна начальной вершине:
6.1. Перебираем все смежные вершины вершины стека:
6.1.1. Если метка смежной вершины равна разности метки вершины стека и расстоянием от смежной вершиной к вершине стека, то
6.1.1.1. Заносим смежную вершину в стек.
6.1.1.2. Переходим к шагу 6.2.
6.2. Если ни одна смежная вершина не была занесена в стек вершин кратчайшего пути, то
6.2.1. Выводим сообщение «Между вершинами нет пути».
6.2.2. Завершаем алгоритм.
7. Выводим кратчайший путь на экран.
8. Выводим метку конечной вершины (длину пути) на экран.
Входные данные:
• matrix[,] – матрица смежности графа.
• start – номер начальной вершины.
• end – номер конечной вершины.
Выходные данные:
• status – текстовое поле для вывода вершин кратчайшего пути между вершинами и длины пути.
• path – стек для хранения вершин кратчайшего пути между вершинами.
• distance – длина кратчайшего пути между заданными вершинами.
Дополнительная информация
2020
Похожие материалы
Лабораторной работе №5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе.
DiKey
: 28 марта 2023
Лабораторной работе No5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе.
Цель работы: ознакомление с вариантами реализации алгоритмов на графах на примере задачи поиска кратчайшего пути в неориентированном графе.
Теоретические положения
Алгоритм Беллмана-Форда:
Алгоритм использует метод динамического программирования и формирует решение в виде квадратной матрицы, количество строк и столбцов которой равно количеству вершин графа. Ячейка на пересечении строк
100 руб.
Структуры и алгоритмы обработки данных
Решатель
: 29 августа 2024
Задания для контрольной работы одинаковы для всех студентов. Начальные данные выбираются индивидуально в зависимости от задания в контрольной работе.
500 руб.
Структуры и алгоритмы обработки данных
ianbaeva
: 17 января 2022
КУРСОВАЯ РАБОТА
по дисциплине
«Структуры и алгоритмы обработки данных (часть 2)»
Вариант 14
Содержание
1 Постановка задачи 3
2 Описание программы 5
3 Текст программы 14
4 Результаты выполнения программы 21
Список использованной литературы 23
2000 руб.
Структуры и алгоритмы обработки данных
Despite
: 10 апреля 2013
1. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе прямого выбора номера перемещаемых элементов (пример см. в лекциях, раздел 2.1).
2. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе шейкерной сортировки левую и правую границы сортируемой части массива (L и R).
3. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества провести 3-сортировку (в методе
150 руб.
Структуры и алгоритмы обработки данных
piligrim-24
: 26 октября 2011
вариант №15
Задание
Хранящуюся в файле базу данных загрузить в оперативную память компьютера и построить индексный массив, упорядочивающий данные по ФИО вкладчика и сумме вклада, используя метод прямого слияния. Провести поиск по первым трём буквам фамилии в упорядоченной базе, из записей с одинаковым ключом сформировать очередь. Вывести содержимое очереди. Из записей очереди построить дерево оптимального поиска по другому ключу и произвести поиск по запросу.
50 руб.
Структуры и алгоритмы обработки данных
1231233
: 19 сентября 2010
Лабораторная работа № 2
1. Разработать процедуры сортировки массива целых чисел методом Шелла, методом пирамидальной сортировки и методом Хоара (язык программирования Паскаль или Си).
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
3. Во время сортировки предусмотреть подсчет количества пересылок и сравнений (М и С), сравнить их с теоретическими оценками.
4. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300
23 руб.
Структуры и алгоритмы обработки данных
1231233
: 19 сентября 2010
Контрольная работа Вариант № 9
1. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе прямого выбора номера перемещаемых элементов.
2. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе шейкерной сортировки левую и правую границы сортируемой части массива (L и R).
3. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества провести 3-сортировку (в методе Ше
23 руб.
Структуры и алгоритмы обработки данных
Lampa
: 17 мая 2010
Лабораторные работы по структурам и алгоритмам обработки д-ых
Вариант 7, семестр 3:
Лабораторная работа № 1
Тема: Построение двоичного дерева. Вычисление характеристик дерева.
Лабораторная работа № 2
Тема: Построение случайного дерева поиска и идеально сбалансированного дерева поиска
Лабораторная работа № 3
Тема: Построение случайного дерева поиска и идеально сбалансированного дерева поиска
Лабораторная работа № 4
Тема: Построение двоичного Б-дерева.
Лабораторная работа № 5
Тема: Построение
55 руб.
Другие работы
Группа геометрических тел. Графическая работа 4 - Вариант 8
.Инженер.
: 27 сентября 2025
Б.Г. Миронов, Р.С. Миронова, Д.А. Пяткина, А.А. Пузиков. Сборник заданий по инженерной графике с примерами выполнения чертежей на компьютере. Группа геометрических тел. Графическая работа 4. Вариант 8
По двум видам группы геометрических тел построить третий вид и изометрию.
В состав работы входит:
Чертеж;
3D модель.
Выполнено в программе Компас.
100 руб.
Возникновение государства у франков. Салическая правда
Lokard
: 20 марта 2013
СОДЕРЖАНИЕ
Введение. 3
1. Возникновение и развитие государства у франков. 4
1.1. Формирование общества и государства у франков. 4
1.2. Реформа Карла Мартелла. 5
1.3. Государственный строй. 6
1.
5 руб.
Распредвал автомобиля ВАЗ-2108
Laguz
: 15 августа 2016
Распределительный вал автомобиля Ваз-2108.
Чертеж сделан в компасе 15
50 руб.
Статистические методы изучения цен и инфляции
Slolka
: 16 августа 2013
План
Введение
1. Теоретическая часть
1.1Сущность цены в рыночной экономике и задачи статистики.
1.2.Статистическое наблюдение за ценами
1.4.Сущность инфляции и инфляционных процессов.
1.5.Система статистических показателей инфляции
2. Расчетная часть
3.Аналитическая часть
Заключение
Список литературы
Введение
В современных условиях инфляция и цена является наиболее важной экономической категорией рыночных отношений. Изучение цен и ценообразование и инфляции, процесс изменения их уровней и стру
5 руб.