![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.12.2022
Сообщений: 18
|
![]()
Реализовать алгоритм Дейкстры поиска кратчайшего пути между парой вершин во взвешенном графе.
Проблема с функцией построения пути. Сам алгоритм Дейкстры я написал. BuildPath(Parent, s, e) - строит путь из вершины s в вершину e, проходя по ссылкам из Parent из e в s в обратном порядке. Если путь нельзя построить, возвращает признак отсутствия пути. Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#2 | ||
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
![]()
Вы передаёте map значению, поэтому весь контейнер копируется. Здесь это не надо, лучше передавать по const-ссылке:
Код:
Цитата:
Цитата:
Код:
Код:
|
||
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.12.2022
Сообщений: 18
|
![]()
спасибо, доделал. Теперь пытаюсь понять как мне генерировать Граф случайным образом, с учетом получения связного графа (с разными комбинациями числа вершин и ребер).
Получилось как-то так: Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.12.2022
Сообщений: 18
|
![]()
на консоль. С учетом того,что граф уже задан и есть некоторые его функции
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
![]() Цитата:
Можно так: Код:
|
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 01.12.2022
Сообщений: 18
|
![]()
Спасибо большое, все работает.Как теперь мне узнать правильность работы функции shortest_path, как ее вывести? Через cout не работает.
Код:
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
![]()
Шляпадляменя, в одной программе лучше не мешать stdio (printf) и iostreams (cout). Если вам iostreams больше нравится (или требуется по заданию), тогда его и будем использовать:
Код:
Код:
![]() Если функция shortest_path возвращает std::vector<int>, то так: Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм дейкстры | azunight | Общие вопросы C/C++ | 0 | 14.12.2018 12:54 |
Алгоритм Дейкстры C# | NastyaShuvalova | C# (си шарп) | 4 | 18.11.2015 11:15 |
алгоритм Дейкстры | Настюн | Помощь студентам | 3 | 14.10.2013 16:41 |
Алгоритм Дейкстры | polubencev | Помощь студентам | 1 | 20.06.2012 22:25 |
Алгоритм Дейкстры | andis | Помощь студентам | 0 | 24.01.2010 17:42 |