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

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. по дисциплине АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ. Тема МНОЖЕСТВА.
«Определение показателей бюджета продаж и производства» (на примере филиала ОАО «РЖД» )
Содержание: Введение…………………………………………………………………...………4 Исходные данные………………………………………………………...……….6 Раздел 1. Расчет показателей плана грузовых перевозок на отделении доро-ги……………………………………………………………………………..…….8 Раздел 2. Определение объема работы подвижного состава……………........11 2.1. Определение объема работы вагонов……………………………….….11 2.2. Расчет работы в т-км брутто………………………………………….….15 2.3. Расчет пробега и количества поездов по участкам и направлениям…17 2.4. Пробег поездных и
User lyianya : 4 мая 2016
250 руб.
Оценка эффективности реконструкции центральных тепловых пунктов в г. Сургуте
Введение 4 1. Экономическая эффективность – источник экономического роста на предприятии. 7 1.1. Факторы экономического роста на уровне предприятия. 7 1.2. Показатели экономического роста. 8 1.3. Проблемы достижения эффективности на предприятиях жилищно-коммунального хозяйства и пути их решения. 10 2. Роль технико-экономического анализа в повышении эффективности производства. 13 2.1. Основные принципы технико-экономического анализа. 14 2.2. Методика технико-экономического анализа на предприят
User alfFRED : 31 марта 2014
5 руб.
Информатика. Курсовая работа. 9-й вариант. 2-й семестр.
Оглавление 1. Задание к курсовой работе 3 2. Описание процесса проектирования базы данных 3 2.1. Общее описание предметной области 3 2.2. Инфологическая модель 3 2.3. Выделение информационных объектов 5 2.4. Определение логической структуры базы данных 6 2.5. Датологическая модель в среде выбранной субд 7 3. Структура таблиц базы данных (в режиме конструктора) 10 4. Схема связей между таблицами 11 5. Содержание таблиц 12 6. Структура запросов (в режиме конструктора) и описание процесса их созда
User sanco25 : 20 мая 2012
130 руб.
Информатика. Курсовая работа. 9-й вариант. 2-й семестр.
Контрольная работа. Централизованные системы сигнализации в современных цифровых сетях. Вариант 20
Сообщение 1 TLink1B 00:24.061 000: AF C8 1C 85 41 60 00 B8 BB 01 01 00 48 00 F6 03 010: 02 0A 08 83 10 83 21 65 78 88 0F 08 01 00 00 Сообщение 2 TLink1A 00:24.088 000: C8 B1 0B 85 01 60 10 B8 BB 01 03 01 00 00 Сообщение 3 TLink1B 00:24.182 000: B1 C9 0B 85 41 60 00 B8 BB 01 04 01 00 00 Сообщение 4 TLink1A 00:24.480 000: CA B3 0D 85 01 60 10 08 68 00 0C 02 00 02 8A 90 Сообщение 5 TLink1B 00:24.492 000: B3 CB 09 85 41 60 00 88 68 00 10 00 Соо
User bioclown : 23 октября 2013
150 руб.
up Наверх