Лабораторной работе №4. Алгоритмы и структуры данных. Тема: Графы. ЛЭТИ.
Состав работы
|
|
|
|
|
|
|
|
Работа представляет собой 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) (так как тройной цикл)
Тема: Графы. ЛЭТИ.
Вариант 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
DiKey
: 23 марта 2023
Лабораторной работе №3. Алгоритмы и структуры данных.
Тема: Деревья. ЛЭТИ. 2020
Цель работы
Исследование алгоритмов для работы с двоичным деревом
Задание
В двоичном дереве сделать обратную разметку, обойти дерево в глубину и подсчитать количество левых листьев
Постановка задачи и описание решения
Для представления дерева в памяти предложен естественный способ – разветвляющийся список. Узлы дерева – объекты, связи между которыми осуществляются через указатели. Для создания дерева достаточно объ
75 руб.
Лабораторной работе №5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе.
DiKey
: 28 марта 2023
Лабораторной работе No5. По дисциплине Алгоритмы и структуры данных. Тема Нахождение кратчайшего пути в графе.
Цель работы: ознакомление с вариантами реализации алгоритмов на графах на примере задачи поиска кратчайшего пути в неориентированном графе.
Теоретические положения
Алгоритм Беллмана-Форда:
Алгоритм использует метод динамического программирования и формирует решение в виде квадратной матрицы, количество строк и столбцов которой равно количеству вершин графа. Ячейка на пересечении строк
100 руб.
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева.
DiKey
: 28 марта 2023
Лабораторной работе №4. По дисциплине Алгоритмы и структуры данных. Тема Построение минимального остовного дерева.
ЦЕЛЬ РАБОТЫ
Ознакомление с вариантами реализации алгоритмов на графах на примере задачи построения минимального остовного дерева.
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Алгоритм Прима
Алгоритм начинается с выбора произвольной вершины. Она принимается за часть построенного минимального остовного дерева.
Далее в цикле в каждой итерации рассматриваются только те ребра исходного графа, одн
100 руб.
400 руб.
400 руб.
400 руб.
Презентация - Алгоритмы и структуры данных
alfFRED
: 24 ноября 2012
Содержание:
Основные алгоритмы и структуры данных.
Поиск.
Сортировка.
Списки.
Деревья.
Таблицы.
10 руб.
Лабораторная работа №4. По дисциплине Схемотехника. Тема - Активные фильтры на базе операционных усилителей. ЛЭТИ.
DiKey
: 8 апреля 2023
Лабораторная работа №4. По дисциплине Схемотехника. Тема - Активные фильтры на базе операционных усилителей.
Цель работы.
Ознакомиться с принципами работы операционных усилителей и активных фильтров, построенных на их основе. Исследовать схемы фильтров нижних частот Баттерворта и Бесселя, построенные на базе операционного усилителя LM741CN.
Задачи.
1) Построить компьютерные модели активных фильтров нижних частот Баттерворта 2 порядка и Бесселя 4 порядка в среде NI Multisim. Частоты среза филь
150 руб.
Другие работы
Лабораторная работа №1-3 по теории электрических цепей. Вариант №1
iptrace
: 27 декабря 2015
Лаб1. Изучение и экспериментальная проверка законов Ома и Кирхгофа в разветвленной электрической цепи, содержащей источник и резистивные элементы.
Лаб2. Изучение электрических цепей, содержащих резисторы R, индуктивности L и емкости С при гармоническом (синусоидальном) воздействии
Лаб3. Исследование явления резонанса в последовательном и параллельном контурах, их частотных характеристик, влияния нагрузки на свойства контуров.
150 руб.
Пассивные операции банка
Slolka
: 25 декабря 2013
Содержание
Введение 2
1. Операции по формированию собственных ресурсов банка 4
3. Привлеченные средства банка их роль в формировании банковских ресурсов 11
4. Управляемые пассивы как источник привлечения денежных ресурсов 21
Заключение 26
Список использованной литературы 28
Введение
Коммерческие банки, как и другие субъекты хозяйственных отношений, для обеспечения своей хозяйственной деятельности должны располагать определенной суммой денежных средств, т.е. ресурсами. В современных условиях ра
10 руб.
Оцінка ефективності дивідендної політики підприємства в умовах розвитку
Elfa254
: 9 ноября 2013
Дивідендна політика, як і керування, структурою впливає на положення компанії на ринку капіталу, зокрема на динаміку ціни його акцій. Дивіденди являють собою грошовий доход акціонерів і деякою мірою сигналізують їм про те, що комерційна організація, в акції якої вони вклали свої гроші, працює успішно. Можна виділити два основних завдання, розв'язувані в процесі вибору оптимальної дивідендної політики. Вони взаємозалежні й укладаються в забезпеченні: а) максимізації сукупного надбання акціонерів;
10 руб.
Курсовая работа по дисциплине: “Метрология, стандартизация и сертификация “..Расчет и выбор посадок сборочной единицы
Рики-Тики-Та
: 27 мая 2012
Аннотация.
Темой курсовой работы является расчет и выбор посадок сборочной единицы. Целью курсовой работы является практическое закрепление знаний о:
- о расчете и выборе посадок гладких цилиндрических соединений;
- о выборе посадок подшипника качения;
- выборе вида сопряжения и допуска на боковой зазор цилиндрических зубчатых передач;
- нормировании допусков формы и расположению;
- выполнении рабочих чертежей детали;
Курсовая работа содержит:
4 листа формата А3
1 листа формата А4
41 лист форм
55 руб.