![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Доброго времени суток. На графе пытаюсь решить вот такую задачку.
Есть граф (boost::adjacency_list), вершины в нем - это таблицы в субд, а ребра - это связи между ними. разумеется в нем есть циклы. Так вот нужно найти все пути от одной таблицы до другой. К примеру Есть таблицы: рабочий, отдел, инструмент. Рабочий ссылает на таблицу отдел и на таблицу инструмент, инструмент так же ссылается на таблицу отдел. Так вот вопрос, как найти не только самый кротчайший путь между рабочим и отделом, но и второй через инструмент? Ни как не могу подыскать подходящий алгоритм, помогите пожалуйста. --------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Да любой поиск, в глубину, например. Только нужно слегка модифицировать агента, или как он там называется. Чтобы как только происходит доступ к ребру, на другом конце которого конечная вершина, запоминаем где-нибудь текущий путь к ней (т.е. цепочку предшественников).
-------------------- ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |