Лабораторная работа №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 руб.
350 руб.
Структуры и алгоритмы обработки данных
Решатель
: 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
Контрольная работа Вариант № 9
1. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе прямого выбора номера перемещаемых элементов.
2. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе шейкерной сортировки левую и правую границы сортируемой части массива (L и R).
3. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества провести 3-сортировку (в методе Ше
23 руб.
Структуры и алгоритмы обработки данных
1231233
: 19 сентября 2010
Лабораторная работа № 2
1. Разработать процедуры сортировки массива целых чисел методом Шелла, методом пирамидальной сортировки и методом Хоара (язык программирования Паскаль или Си).
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
3. Во время сортировки предусмотреть подсчет количества пересылок и сравнений (М и С), сравнить их с теоретическими оценками.
4. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300
23 руб.
Другие работы
Анализ нелинейного колебательного процесса на примере осциллятора Дуффинга
anderwerty
: 23 января 2016
Уравнение Дуффинга.
Нелинейный сдвиг частоты.
График зависимости амплитуды от частоты.
Бистабильность в нелинейном случае.
4 руб.
Методы и устройства измерения температуры в производственных процессах
Aronitue9
: 22 января 2012
Измерения – единственный способ получения количественной информации о величинах, характеризующих те или иные физические явления или процессы. Поэтому разработка новых приборов, машин, механизмов, аппаратов, а также непосредственное осуществление сложных технологических процессов в современной промышленности связанны с необходимостью измерения многочисленных физических величин. При этом число подлежащих измерению механических, тепловых, химических или акустических величин, т.е. так называемых неэ
42 руб.
ЭКЗАМЕНАЦИОННАЯ РАБОТА по дисциплине «Спутниковые и радиорелейные системы передачи». Билет №11
ldthm23
: 14 марта 2014
Частотные модуляторы
Земные станции спутниковых систем связи
Спутниковая связь опирается на две составляющие - спутниковый сегмент и земные станции спутниковой связи (ЗС СС). Спутниковый сегмент базируется на спутниках связи расположенных на геостационарных орбитах. ЗС СС осуществляют доступ к спутниковому сегменту и формируют спутниковые каналы связи. Доступ ЗС СС к спутниковому сегменту осуществляется на основе аренды полосы частот на определенном спутнике у оператора, являющегося владельцем с
700 руб.
Контрольная и Лабораторные работы 1-2 по дисциплине: Элементная база телекоммуникационных систе. Вариант №33
IT-STUDHELP
: 9 мая 2023
Лабораторная работа 1
РАЗРАБОТКА ИНТЕГРАЛЬНОГО ЦИФРОВОГО УСТРОЙСТВА
Цель работы
Научиться составлять электрические схемы цифровых устройств на основе базовых цифровых интегральных микросхем (ЦИМС).
Задание
2.1. На основе анализа исходных уравнений задания произвести их упрощение (если это возможно) и преобразование. Цель преобразования – привести уравнения к виду, удобному для реализации.
2.2. Составить формальную электрическую схему устройства и привести
список необходимых базовых элементов.
1200 руб.