Алгоритм Дейкстры: два варианта реализации

  Рет қаралды 11,805

Олимпиадное программирование в УлГТУ

Олимпиадное программирование в УлГТУ

Күн бұрын

Пікірлер: 14
@avoidperil6171
@avoidperil6171 Жыл бұрын
Это лучшее объеснение алгоритма которое я нашел в просторах интернета. Спасибо за видос
@dirrry2331
@dirrry2331 Жыл бұрын
Ваш канал имба, столько всего полезного собрали) алгоритмы чётко и ясно объясняются. Жаль, что курсу не суждено выйти, получилось бы здорово, думаю
@muznadzor554
@muznadzor554 11 ай бұрын
Очень грамотно и лаконично! Бесконечный респект таким преподавателям)
@dfddtx1523
@dfddtx1523 Жыл бұрын
Замечательное видео где все расставлено по своим местам и имеется вариативность решений. Но было бы здорово видеть какие нибудь файлы с кодом в описании видео, и абстрагировать код о какого либо проекта (ввод данных из текстового файла) для лучшей наглядности. Успехов, че =)
@vidruska
@vidruska 7 ай бұрын
Спасибо за видео! Можно ли с помощью Дейкстры найти все кратчайшие пути? То есть у нас могут быть более чем один "path"? Или надо использовать другой алгоритм?
@op_ulstu
@op_ulstu 7 ай бұрын
Ответ на ваш вопрос - чуть далее по плейлисту, в видеозаписях про алгоритм Флойда-Уоршелла.
@vidruska
@vidruska 7 ай бұрын
@@op_ulstu Я неправильно наверно выразилась - алгоритм Floyd ищет все кратчайшие пути попарно, но у меня всё-таки задачи более похоже на алгоритмДейкстры. То есть мне нужно найти все возможные пути от Start до Finish, где Start и Finish фиксированной… В отличие от видео нужно распечатать все пути от Start до Finish если их несколько. Надо структуру from дополнить? Или другой алгоритм искать?
@op_ulstu
@op_ulstu 7 ай бұрын
@@vidruska Вы можете попробовать сделать вектор from двумерным, чтобы в ячейке с индексом to сохранять не одного, а сразу всех возможных предков вершины to на каком-то кратчайшем пути (добавится условие else if (dist[to] == dist[nearest] + weight) from[to].push_back(nearest); ). Затем вам придётся написать рекурсивную функцию, перебирающую все возможные пути от finish до start по этому массиву. Правда, имейте в виду, что количество кратчайших путей между start и finish в графе может быть экспоненциальным, и в общем случае вывести их все не получится. Рассмотрите, например, граф: 7 12 1 2 100 1 2 100 2 3 100 2 3 100 3 4 100 3 4 100 4 5 100 4 5 100 5 6 100 5 6 100 6 7 100 6 7 100 Даже в этом маленьком графе между вершинами 1 и 7 есть 64 различных кратчайших пути.
@АлексейНяшин-к6б
@АлексейНяшин-к6б Жыл бұрын
Спасибо большое
@chto_to_ne_tak.
@chto_to_ne_tak. Жыл бұрын
for (auto& [to, weiht] : graph[nerest]) { вот эта строчка отказывается работать
@op_ulstu
@op_ulstu Жыл бұрын
Проверьте, что в вашем компиляторе включена поддержка стандарта C++17.
@tusman4ik
@tusman4ik 11 ай бұрын
​@@op_ulstuскажите, будут ли выходить новые видео или у вас появились какие-то другие проекты?
@craptowel3516
@craptowel3516 5 ай бұрын
@@op_ulstu такая же проблема
Отрицательные веса рёбер: почему алгоритм Дейкстры с ними не справляется
5:13
Олимпиадное программирование в УлГТУ
Рет қаралды 1,9 М.
didn't manage to catch the ball #tiktok
00:19
Анастасия Тарасова
Рет қаралды 34 МЛН
Сюрприз для Златы на день рождения
00:10
Victoria Portfolio
Рет қаралды 2,4 МЛН
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 262 #shorts
00:20
Алгоритм Дейкстры
10:35
Kirsanov2011
Рет қаралды 150 М.
Поиск в ширину (BFS)
16:39
Олимпиадное программирование в УлГТУ
Рет қаралды 28 М.
Алгоритм Форда-Беллмана и SPFA
13:42
Олимпиадное программирование в УлГТУ
Рет қаралды 11 М.
Графы для программистов
15:07
Андрей Иванов | Python
Рет қаралды 2,4 М.
Идея алгоритма Флойда-Уоршелла
12:20
Олимпиадное программирование в УлГТУ
Рет қаралды 4,6 М.
Алгоритм Дейкстры
12:07
Roman Tsarev
Рет қаралды 161 М.
didn't manage to catch the ball #tiktok
00:19
Анастасия Тарасова
Рет қаралды 34 МЛН