Задать вопрос
@pavlik321
Генератор случайных Q&A важных людям

Как найти или показать существование цикла в ориентированном графе быстрее, чем за O(IVI+IEI)?

Как найти или хотя бы показать существование цикла в ациклическом ориентированном графе за быстрее, чем за O(IVI+IEI)? То есть мне даже не обязательно, чтобы были найдены эти рёбра приводящие к циклу
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Средний 5 комментариев
Решения вопроса 1
wataru
@wataru Куратор тега Математика
Разработчик на С++, экс-олимпиадник.
Никак.

Это можно доказать. Вам так или иначе придется посмотреть на все ребра. Допустим, есть алгоритм, который всегда может проверить цикл, смотря не все ребра. Рассморим какой-то граф без циклов. Алгоритм там какие-то ребра посмотрел и сказал, что циклов нет. А мы возьмем и скормим этому алгоритму почти такой же граф, только одно из ребер, которые он вообще не трогал, сделаем обратным какому-то другому ребру в графе, сделав таким образом цикл. Но алгоритм посмотрит на те же самые ребра, увидет все то же самое и сделает точно такой же вывод, что циклов нет, и ошибется. Все потому что мы допустили алгоритм, который всегда смотрит не все ребра. Значит таких алгоритмов нет и там всегда будет хотя бы O(|E|).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы