Состав работы

material.view.file_icon
material.view.file_icon 930(4).docx
material.view.file_icon Screenshot_553.jpg
material.view.file_icon Screenshot_554.jpg
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра изображений

Описание

Лабораторной работе №4. Алгоритмы и структуры данных.
Тема: Графы. ЛЭТИ.
Вариант 35

Содержание
Введение ........................................................................................................ 3
Задание ........................................................................................................... 3
Постановка задачи и описание решения ..................................................... 3
Контрольные тесты ...................................................................................... 5
Вывод ............................................................................................................. 8
Список использованных источников........................................................... 9
Текст программы ........................................................................................... 10


Цель работы
Исследование алгоритмов для работы с ориентированными графами
Задание
Отыскание кратчайшего пути между заданной парой вершин в произвольном ориентированном графе с нагруженными ребрами
Математическая формулировка: ориентированный граф G = <V, E>, заданный в форме весового списка ребер edge [v, u], который может содержать циклы с отрицательной длиной, и вершина-источник s. Результатом является вектор расстояний d.
Постановка задачи и описание решения
Для алгоритма Форда-Беллмана более удобно представлять граф в виде списка всех рёбер (вектор структур ребра). Для такого алгоритма матрица смежности получается довольно трудно затратной.
Было решено сделать меню, в котором пользователь выбирает характеристики графа: в первом подменю он выбирает, вводить ли ему вручную или позволить компьютеру сгенерировать граф: если пользователь выбрал первый вариант, то он просто вводит данные графа с клавиатуры, иначе выводится следующее меню, в котором пользователь выбирает, какими должны быть числа в графе: положительными или положительными и отрицательными (это было сделано для того, чтобы удостовериться в правильности алгоритма Беллмана - Форда) – в таком случае генерируются однозначные числа (чтобы красиво выводилась “матрица” и наглядно показать действие алгоритма, ведь для демонстрации алгоритма можно использовать и целые числа)
Важное уточнение: если между вершинами связи нет, то вводится и выводится именно ноль
Формируется список ребер размером n*n, где n – кол-во ребер (однако обрабатываться будут только ребра с ненулевым весом, поэтому одна итерация будет повторяться [кол-во ребер] раз)
Заведём массив расстояний d[n], который после обработки будет содержать ответ на задачу: сначала мы заполняем расстояние вершины старта нулем, остальные бесконечностью. Если после действий алгоритма расстояние все равно бесконечности, значит, что эта вершина недостижима
Также в программе была учтена возможность обнаружения отрицательного цикла – такого, что алгоритм может бесконечно улучшать свою оценку, уходя в минус бесконечность.
Для восстановления пути был инициализирован p[n], в котором соответствующие вершины будут хранить предшественника. Алгоритм, предполагая, что кратчайшее расстояние до одной вершины уже посчитано, пытается улучшить кратчайшее расстояние до другой вершины. Следовательно, в момент улучшения нам надо просто запоминать в массиве “предков”, из какой вершины это улучшение произошло.
Общая сложность алгоритма – О(ne), где n – кол-во вершин, e - кол-во ребер, однако в худшем случае она может достигать O(n^3) (так как тройной цикл)

Дополнительная информация

2020
Лабораторной работе №3. Алгоритмы и структуры данных. Тема: Деревья. ЛЭТИ. 2020
Лабораторной работе №3. Алгоритмы и структуры данных. Тема: Деревья. ЛЭТИ. 2020 Цель работы Исследование алгоритмов для работы с двоичным деревом Задание В двоичном дереве сделать обратную разметку, обойти дерево в глубину и подсчитать количество левых листьев Постановка задачи и описание решения Для представления дерева в памяти предложен естественный способ – разветвляющийся список. Узлы дерева – объекты, связи между которыми осуществляются через указатели. Для создания дерева достаточно объ
User DiKey : 23 марта 2023
75 руб.
Лабораторной работе №3. Алгоритмы и структуры данных. Тема: Деревья. ЛЭТИ. 2020
Лабораторной работе №5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе.
Лабораторной работе No5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе. Цель работы: ознакомление с вариантами реализации алгоритмов на графах на примере задачи поиска кратчайшего пути в неориентированном графе. Теоретические положения Алгоритм Беллмана-Форда: Алгоритм использует метод динамического программирования и формирует решение в виде квадратной матрицы, количество строк и столбцов которой равно количеству вершин графа. Ячейка на пересечении строк
User DiKey : 28 марта 2023
100 руб.
Лабораторной работе №5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе.
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева.
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева. ЦЕЛЬ РАБОТЫ Ознакомление с вариантами реализации алгоритмов на графах на примере задачи построения минимального остовного дерева. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Алгоритм Прима Алгоритм начинается с выбора произвольной вершины. Она принимается за часть построенного минимального остовного дерева. Далее в цикле в каждой итерации рассматриваются только те ребра исходного графа, одн
User DiKey : 28 марта 2023
100 руб.
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева.
Презентация - Алгоритмы и структуры данных
Содержание: Основные алгоритмы и структуры данных. Поиск. Сортировка. Списки. Деревья. Таблицы.
User alfFRED : 24 ноября 2012
10 руб.
Лабораторной работе №1. по дисциплине АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ. Тема МНОЖЕСТВА.
Лабораторной работе No1. по дисциплине АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ. Тема МНОЖЕСТВА. Задание Составить и отладить программу, реализующую обработку множеств по заданию: No варианта 10. Универсум - Строчные латинские буквы. Множество, содержащее буквы, имеющиеся в любом из множеств A или B, но отсутсвующие в C, кроме того, обязательно встречающиеся также и в D 1. Уточнить задание: записать его в виде формулы для получения пятого множества по заданным четырём, используя знаки операций над множ
User DiKey : 28 марта 2023
100 руб.
Лабораторной работе №1. по дисциплине АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ. Тема МНОЖЕСТВА.
Гибкие оптические сети (часть 1-я). Билет №2
Факультет МТС, магистратура Курс 1 Семестр 1 Направление подготовки: 110402 Инфокоммуникационные технологии и системы связи Дисциплина: Гибкие оптические сети. Экзаменационное тестирование (ПК-2). Билет 2 Вопросы для краткого ответа (ПК-2) Вопрос № 1. Почему в стекловолокнах ограничивают мощность оптического сигнала? Вопрос № 2. Какой должна быть спектральная эффективность оптического канала для организации передачи на скорости 1Тбит/с в полосе канала 50 ГГц с использованием DP? Вопрос № 3. Н
User IT-STUDHELP : 1 декабря 2021
600 руб.
promo
ГОСТ Р МЭК 60622-2002 Аккумуляторы и батареи щелочные. Аккумуляторы никель-кадмиевые герметичные призматические
Настоящий стандарт устанавливает технические требования и методы испытаний герметичных никель-кадмиевых призматических аккумуляторов (далее — аккумуляторов). Примечание — Понятие «призматический» относится к аккумуляторам, имеющим прямоугольные стороны и основание.
User Qiwir : 7 мая 2013
Сборник задач по машиностроительной гидравлике Задача 3.31
На барже с размерами дна L×B=60×10 м и осадкой С=1,5 м установлен кран грузоподъемностью 5 т с максимальным вылетом стрелы А=15 м. Определить угол крена баржи при максимальной нагрузке крана, если центр тяжести системы расположен выше дна баржи на 4,25 м.
User Z24 : 11 ноября 2025
120 руб.
Сборник задач по машиностроительной гидравлике Задача 3.31
Основы расчетов на прочность и жесткость типовых элементов конструкций ВолгГТУ 2019 Задача 4 Вариант 12
Расчеты на прочность при сложном сопротивлении Плоскость Р — Р действия внешних нагрузок наклонена под углом α = 15º к вертикальной плоскости (рис. 12.4, а). Подобрать размеры поперечного сечения стального бруса в форме прямоугольника с отношением h/b = 1,5 или двутавра (в зависимости от варианта задания). Сопоставить напряжения в сечении при косом изгибе с напряжениями при плоском изгибе.
User Z24 : 5 ноября 2025
300 руб.
Основы расчетов на прочность и жесткость типовых элементов конструкций ВолгГТУ 2019 Задача 4 Вариант 12
up Наверх