Вот проблема, которая, как я недавно понял, на неориентированных графах выглядит сложнее, чем на ориентированных.
Предположим, у вас есть график с положительным и отрицательным весом ребер, и вас просят обнаружить отрицательный весовой цикл. Существует алгоритм масштабирования для этой задачи для ориентированных графов Гольдберга'93 (А.В. Гольдберг. 1993. Алгоритмы масштабирования для задачи кратчайших путей. В SODA '93.), Выполняемые за время O ( ) где - количество ребер, - число вершин, а - наибольшее абсолютное значение веса ребра. Напротив, та же проблема в неориентированных графах имеет гораздо худшие алгоритмы. Насколько мне известно, наиболее известным является Габов'83 (HN Gabow. 1983. Эффективный метод сокращения для проблемных подграфов и двунаправленных проблем сетевого потока. В STOC '83.) И работает в O (min (mnCn3,mnlognmn−−√logCmnCn3,mnlogn)) время. Есть также подход, использующий T-соединения, который дает то же самое время выполнения, я не помню, где я видел это как бы то ни было.
Проблема отрицательного цикла является критической при разработке алгоритмов SSSP с одним источником, и неудивительно, что лучшие времена выполнения SSSP в ориентированных и ненаправленных графах с произвольными весами имеют одинаковое время выполнения - O ( ) и O (min ( )) соответственно.n3,mnlognmn−−√logCn3,mnlogn