Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
GY-GY
Зарегистрирован: 06.07.2007 Сообщения: 2
|
Добавлено: Пт Июл 06 2007 15:41 Заголовок сообщения: Граф, как найти все неповторяющиеся маршруты |
|
|
Имеетя некий граф. Надо найти все возможные маршруты для попадания из одной произвольной вершины в другую, исключая закольцованные участки.
с алгоритмами нахождения кратчайшего пути(Дейкстры) - знаком, но мне нужны все варианты, исключая те, где одну вершину посешаем более 1 раза. Может есть решение и не надо изобретать велосипед? |
|
Вернуться к началу |
|
 |
slop
Зарегистрирован: 30.08.2007 Сообщения: 1
|
Добавлено: Чт Авг 30 2007 12:36 Заголовок сообщения: |
|
|
Рекурсию сделать, где на каждом шаге делать ветвление по всем связям текущей вершины исключая уже посещенные вершины. Когда попадаем в результирующую вершину, то прерываем данную ветвь и добавляем трассу в результат. Только при большой размерности проблемы могут быть с реализацие самой рекурсии.
Posted with ForumPilot v1.1 |
|
Вернуться к началу |
|
 |
GY-GY
Зарегистрирован: 06.07.2007 Сообщения: 2
|
Добавлено: Ср Сен 05 2007 12:13 Заголовок сообщения: |
|
|
Цитата: | и добавляем трассу в результат |
вот здесь-то и есть самое интересное. если решать тупо в лоб, то массив для для хранения промежуточных кусков трасс получается весьма внушительным. |
|
Вернуться к началу |
|
 |
Odomontois
Зарегистрирован: 30.10.2008 Сообщения: 5
|
Добавлено: Чт Окт 30 2008 11:54 Заголовок сообщения: |
|
|
Вам нужны сами маршруты или их количество?
Хотя погодите,,, если рекурсивно - это поиск в глубину, вам не нужно никаких массивов - только одну единственную рассматриваемую трассу, если вам нужно их генерировать.
А если нужно не только генерировать, но и хранить, то меньшими объёмами не обойтись. |
|
Вернуться к началу |
|
 |
|