Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нахождение цикла в парах, не про графы 
V
    Опции темы
GrinMD
Дата 6.3.2009, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 6.3.2009

Репутация: нет
Всего: нет



Условие:
есть набор пар переходов вида:
1-> 2
1-> 3
2-> 4
4-> 1

Под циклом понимается наличие таких переходов, при которых переход осуществляется в себя же.
В данном примере это 1->2->4->1.

Метод последовательного анализа каждого элемента не подходит: неизвестно есть ли цикл у других элементов, т.е. если начинаем анализировать 1 которая переходит в 2, которая, в свою очередь, имеет цикл вида 2->3->2, то алгоритм зависнет.

Всю голову уже сломал - подскажите направление в котором стоит думать, или может быть кто-то сможет алгоритм на псевдоязыке набросать.
PM MAIL   Вверх
ksnk
Дата 6.3.2009, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



Крестики рисовать в каждой позиции. Перешли в 1 - пишем "Здесь был Вася!". Если при переходе в новую позицию какие-то вандалы стены расписали - значит мы тут уже были...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Silent
Дата 6.3.2009, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 3.10.2006

Репутация: 1
Всего: 9



просто не ходи обратно, в ту "вершину" (первое число из пары), откуда только что пришел
PM MAIL   Вверх
Lomir
Дата 7.3.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 30.1.2007
Где: Lithuania::Kaunas

Репутация: нет
Всего: 1



А чем плохи ориентированные графы тут? Строим граф из переходов и ищем нужные циклы..
PM MAIL ICQ Skype   Вверх
Sefko
Дата 7.3.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 5.3.2009

Репутация: 1
Всего: 1



Цитата(Lomir @  7.3.2009,  13:49 Найти цитируемый пост)
А чем плохи ориентированные графы тут? 
Ну как же?
Цитата(GrinMD @  6.3.2009,  21:14 Найти цитируемый пост)
Всю голову уже сломал

А если графы?
Тупо набираем в Google "поиск циклов в графах" и тут же вываливается... Мне эта Google вывалила аж 9300 ссылок: и лекции, и алгоритмы, и математики, и программисты. Тут читать надо, а не голову ломать.

Возможна иная интерпретация, при которой ёрничество совершенно не уместно: автор топика просто не знает, что его вопрос изучается теорией графов.
В таком случае нужно не ёрничать, а просто подсказать.
Но такой подход не вяжется с названием темы, где ЯВНО указано: НЕ ПРО ГРАФЫ!


Это сообщение отредактировал(а) Sefko - 7.3.2009, 20:54
PM MAIL   Вверх
neutrino
Дата 9.3.2009, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Задача легко дедуцируется на нахождение циклов в графах. Эта в свою очередь решается с помощью DFS. Но если условия таковы, что графы использовать нельзя, тогда пожалуй просто тупо зарезервируй битовый массив под числа. на каждую пару алгоритм такой:

visited[n] = {false}
check (a, b)
{
if (visited[b] == true) print b " is visited"
else
{
visited[a] = true;
visited[b] = true;
}
}


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.