![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Dars2 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
Следующая проблема:
Нужен алгоритм нахождения критического (длиннейшего) пути в орграфе от самой первой вершины до последней (от 0 до m-1), представленного в виде матрицы m x m типа:
Вышеприведенный пример представляет собой ориентированный граф, внутри которого есть циклы (цикл путь: 2-3-5-6-7-2). Поэтому стандартный алгоритм нахождения критического пути не работает. Необходимо сделать так чтобы он искал длиннейший путь, при это не заходя в уже посещенные вершины. На данный момент есть следующий код, но он не похоже не работает при зацикливании:
Возможно, как-то можно внести изменение в этот код, чтобы решалось нормально. Помогите плиз!!!! Это сообщение отредактировал(а) Dars2 - 21.5.2006, 11:03 |
||||
|
|||||
| Dars2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
Неужели нет решения????
|
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
Dars2, есть, но стоит денег
|
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
Это же задача коммивояжера. Только там, кажется, ближайший путь. Ищи в сети + посмотри Это сообщение отредактировал(а) Helicopterr - 25.5.2006, 01:19 -------------------- people can fly |
|||
|
||||
| Dars2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
Готов заплатить если действительно четкое решение будет с минимальной сложностью |
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
Dars2
А что значит
-------------------- people can fly |
|||
|
||||
| Dars2 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
очепятка))) Люди ну помогите плиз!!! |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
1) Топологическая сортировка не применима к графу с циклами.
2) Чтобы не заходить в вершины повторно, помечай их - это стандартная техника. -------------------- ... |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
А не подойдёт ли здесь алгоритм Дейкстры, только вмеско поиска самой короткой вершины графа, искать самую длинную ?
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Dars2 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
Earnest, ну я так понимаю что без топологической сортировки, даже если помечать вершины алгоритм уже не будет работать корректно?
pablo, Дейкстры тоже только без циклов работает... |
|||
|
||||
| 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. |