Курсовой проект «Комбинаторные алгоритмы. Поиск кратчайшего пути на графе.»



Download 4,55 Mb.
bet6/8
Sana13.02.2023
Hajmi4,55 Mb.
#910548
TuriКурсовой проект
1   2   3   4   5   6   7   8
Bog'liq
Комбинаторные алгоритмы. Поиск кратчайшего пути на графе

Поиск кратчайшего пути на графе


Кратчайший путь рассматривается при помощи математического объекта, называемого графом.


Существуют три наиболее эффективных алгоритма нахождения кратчайшего пути:

  1. Алгоритм Дейкстры;

  2. Алгоритм Флойда — Уоршелла;

  3. Алгоритм Беллмана — Форда.

Принцип работы некоторых из указанных алгоритмов будет рассмотрен в рамках данной работы.


Постановка задачи


Задачей является программная реализация алгоритма поиска кратчайшего пути между двумя любыми вершинами графа.


Пользователь вводит количество вершин и длины рёбер графа, а после обработки этих данных на экран выводится кратчайший путь между двумя ранее заданными вершинами и его длина.


Описание задачи




Алгоритм Дейкстры


Данный алгоритм был изобретён нидерландским ученым Э. Дейкстрой в 1959 году.
Каждой вершине сопоставим метку — минимальное известное расстояние от этой вершины до начальной, с которой мы начинаем поиск кратчайшего пути. Алгоритм работает пошагово — на каждом шаге он посещает одну вершину и пытается уменьшать метки. Работа алгоритма завершается, когда все вершины посещены.
Инициализация. Метка начальной вершины полагается равной 0, метки остальных вершин — бесконечности. Это отражает то, что расстояния от начальной до других вершин пока неизвестны. Все вершины графа помечаются как непосещённые.
Шаг алгоритма. Если все вершины посещены, алгоритм завершается. В противном случае, из ещё не посещённых вершин выбирается вершина, имеющая минимальную метку. Обозначим её за U. Мы рассматриваем всевозможные маршруты, в которых U является предпоследним пунктом. Вершины, в которые ведут рёбра из U, назовем соседями этой вершины. Для каждого соседа вершины U, кроме отмеченных как посещённые, рассмотрим новую длину пути, равную сумме значений текущей метки U и длины ребра, соединяющего U с этим соседом. Если полученное значение длины меньше значения метки соседа, заменим значение метки полученным значением длины. Рассмотрев всех соседей, пометим вершину U как посещенную и повторим шаг алгоритма.
С ложность алгоритма в простейшем случае, когда для поиска вершины с минимальным d[v] просматривается все множество вершин, время работы алгоритма есть

Download 4,55 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish