Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Нужен алгоритм программы - поиск пути в графе
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (1): [1]   

> Описание: курсач
awep
Отправлено: 18 Декабря, 2008 - 15:59:11
Post Id



Наш человек


Покинул форум
Сообщений всего: 304
Дата рег-ции: Дек. 2005  
Откуда: Казань

Карма 6




Люди, помогите сделать курсач!
Задача: найти самый длинный простой путь в графе. Граф неориентированный, ребра веса не имеют.
Язык: С/C++

В интернете я нашел нужный алгоритм и текст программы к нему на паскале, но разобрать не могу...
Где-то читал, что можно использовать алгоритм Дейкстры, но как адаптировать его для поиска длиннейшего пути - нигде не описано.

Самое главное - найти программу, или хотя бы человекопонятный алгоритм для поиска длиннейшего пути между 2мя вершинами, который можно без длительного мозгового штурма закодить.

Помогите кто чем может!
п.с. си знаю плохо.
Сразу приведу найденный алгоритм:
Цитата:
Для решения поставленной задачи будем использовать метод ветвей и границ. Решением задачи является последовательность вершин графа. Пусть R - частичное решение задачи - последовательность длиной Len(R), start - номер вершины, с которой надо начинать строить цепочку, а MinWayLen - минимальная требуемая длина цепочки (максимальная длина из уже построенных цепочек). При выборе очередной вершины и вставки ее в конец последовательности R граф разбивается удалением этой вершины на компоненты связности (связные подграфы). Составим массив таких компонентов ( т.е. множеств вершин). Упорядочим компоненты по убыванию количества вершин. Дальнейший ход алгоритма описывается циклом: 1. Пусть i - первый (следующий) компонент связности. 2. Если Len(i)<=MinWayLen, то выйти из цикла; 3. Решаем задачу внутри i для каждой начальной вершины start из множества вершин i, смежных текущей вершине start; 4. повторять с 1, взяв вместо i следующый компонент. Для того чтобы рассмотреть все возможные длиннейшие пути, надо решать задачу для start = 1,2,...,N и выбрать среди N решений наидлиннейшее.
 
 Top
ETC Администратор
Отправлено: 18 Декабря, 2008 - 16:25:43
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Вот жешь, по сути как обычно рекурсивные замуты и ничего более интересного.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« Ваш компьютер »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0266]     [ Gzipped ]