Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > система фундаментальных циклов |
Автор: Inka94 8.4.2012, 15:17 |
Помогите пожалуйста! Надо написать программу для построения системы фундаментальных циклов.Мыслей ноль вообще,алгоритм примерно такой: 1.Определяем, связан ли граф (Если нет — циклов нет); 2.Строим матрицу смежности остовного дерева графа; 3.Устраиваем цикл по хордам; 4.Выводим список фундаментальных циклов графа. Вся теперь проблема в реализации...Основная проблема в методе заполнения матрицы остовного дерева графа, заданного матрицей смежности. Есть вариант идти через списки,но т.к я новичок в этом мы это еще не изучали... ну естественно и дальше вся работа не идет. Кто сталкивался с подобной проблемой помогите! Мож какие идеи есть? |
Автор: Inka94 8.4.2012, 16:49 | ||
вот начало я тут немного попробовала:
выдает ошибку =( array required but int found |
Автор: GZep 8.4.2012, 19:40 |
Никто не будет ломать зрение на чтение такого кода. Оформите по-человечески, тут есть тег код с подсветкой и текст ошибки не забудте. |
Автор: Inka94 8.4.2012, 21:52 | ||
Сделала. |
Автор: toxx 8.4.2012, 21:57 |
Inka94, Плохо отформатировали |
Автор: Inka94 8.4.2012, 23:24 | ||||
разобралась в чем прикол.Неправильно задала двумерный массив.Разбила на 2 класса,"связала" между собой.Теперь во втором методе возникает ошибка-"missing return statement".. вот в общем состояние программы на данный момент.Насчет форматирования текста сори,сил уже больше ни на что нет ) 1 класс:
второй :
вот тут и вылетает ошибка :"missing return statement" голову сломала уже что и как,ничего путного не нашла. |
Автор: GZep 8.4.2012, 23:27 | ||||||
Зато теперь хотя бы видно:
Массив matrix декларирован как одномерный, а обращаетесь к нему как к двумерному. Должно быть вроде такого:
Добавлено через 3 минуты и 56 секунд на сколько знаю, в современных IDE это делается одной командой. да потому что код неотформатированный! был бы отформатированный, увидели бы что в конце неправильно расставлены скобки и return не "внутри" метода. Вот компилятор и ругается, что return выражение найти не может. Добавлено через 5 минут и 14 секунд Подсказка: после return должно быть 2 закрывающиеся фигурные скобки. |
Автор: Inka94 8.4.2012, 23:33 | ||
Оо спасибо )) ща гляну )) Добавлено через 14 минут и 25 секунд типа так что ли?
|
Автор: Mirkes 10.4.2012, 18:21 |
Извините за наивный вопрос, но почему связность графа влечет его ацикличность? |
Автор: Inka94 15.4.2012, 01:28 | ||
А что вас смущает? |
Автор: Mirkes 15.4.2012, 16:38 |
Насколько я помню, наличие циклов и связность графов понятия не связанные. Если взять два циклических графа и объединить, то будем иметь циклический несвязный граф. Например. Если вершины 1, 2 и 3 связаны каждый с каждым, то мы имеем цикл. Если вершины 4, 5 и 6 связаны каждый с каждым, то имеем еще один цикл. Граф со всеми шестью вершинами несвязный, но имеет два цикла. Именно это я и имел в виду. Стало интересно, полез в искать определения. Вообще говоря фундаментальный цикл определяется для произвольного ОСТОВА графа, а не для ОСТОВНОГО ДЕРЕВА. Так что утверждение в пункте 1 - не верно. Если граф не связен, я посовтовал бы разбить его на вязные компоненты и искать фундаментальные циклы в каждой компоненте отдельно. Это намного быстрее. А вот утверждать ацикличность на основании несвязности - грубая ошибка. |
Автор: Inka94 7.5.2012, 22:01 | ||
Ого,я как-то об этом абсолютно не задумывалась...Спасибо большое,что сказали. Это немного меняет алгоритм и вообще почти всю программу на задачу...Даже стыдно,что не обратила внимание. |