Лабораторная работа №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 руб.
Другие работы
Оценка результативности труда персонала
evelin
: 22 октября 2013
Организации существуют для достижения стоящих перед ними целей. Степень реализации этих целей показывает насколько эффективно действует организация, т.е. насколько эффективно используются организационные ресурсы.
Показатель прибыли позволяет оценить эффективность работы организации в целом, складывающейся из эффективности использования всех организационных ресурсов, в том числе каждого сотрудника. Естественно, что сотрудники неодинаково выполняют свои производственные обязанности - в любой орга
10 руб.
Основы проектирования предприятий радиосвязи и вещания. Зачетная работа. Билет № 3
kisa7
: 29 июля 2012
ТЕСТ № 3
1. Условие, которое должно соблюдаться при составлении волнового расписания:
а)
б)
в)
2. Графики радиопрогнозов используются для:
а) определения значения оптимальной рабочей волны по часам суток;
б) расчета рабочей волны;
в) исследования состояния ионосферы.
3. Эллиптическую орбиту используют спутники:
а) “Молния”;
б) “Галс”;
в) “Экран”.
4. Организовать систему непосредственного телевизионного вещания возможно при использовании спутника:
а) “Горизонт”;
б) “Экран” 1 класса;
в) “Экр
150 руб.
Системы коммутации - курсовая работа "Проект ЦС СТС на базе SI 2000 V.5" (вариант 8)
vlanproekt
: 15 октября 2013
Исходные данные:
Назначение АТС: центральная станция типа SI-2000 V.5
2. Емкость станции:
2.1. Количество абонентов, включенных в центральную АТС: 3549
2.2. Количество местных таксофонов: 15
2.3. Количество междугородных таксофонов: 10
2.4. Количество кабин переговорных пунктов: 5
2.5. Количество оконечных устройств передачи данных: 9
2.6. Количество пользователей ISDN:
доступ 30B+D: 4
доступ 2B+D:1 7
2.7. УПАТС, включенные в ЦС:
типа Мультиком D-4000 емкостью 565
3. Сведения о группах удален
590 руб.
Математическая экономика
СибирскийГУТИ
: 4 марта 2014
Задание 1, вариант 4
Стоимостной МОБ включает пять отраслей:
1. тяжелая промышленность;
2. легкая промышленность;
3. строительство;
4. сельское и лесное хозяйство;
5. прочие отрасли.
1) Необходимо составить плановый МОБ, если спрос на конечную продукцию на следующий год по всем отраслям увеличится на (4+n)%.
2) Проследить эффект распространения, вызванный увеличением спроса на продукцию тяжелой промышленности дополнительно на (2+n/2)%.
3) Определить равновесные цены в предположении (4+n/3)%-го
50 руб.