С точки зрения времени выполнения, какой самый известный транзитивный алгоритм закрытия для ориентированных графов?наиболее известный транзитивный алгоритм закрытия для графика
В настоящее время я использую алгоритм Варшалла, но его O (n^3). Хотя из-за графического представления моя реализация немного улучшается (вместо проверки всех ребер он проверяет все исходящие края). Существует ли какой-либо транзитивный алгоритм закрытия, который лучше этого? В частности, есть ли что-то специально для многопоточных архитектур разделяемой памяти?
Заранее спасибо.
Raghava.
Благодарим за ответ. Я думаю, эвристическое ускорение было бы полезно, только если на графике было много сильно связанных компонентов. Мне нужно наблюдать графики, созданные разными наборами данных, чтобы убедиться, что это так. Но если это не так, то лучший из них - Варшалл. Я думал, что может быть еще. – Raghava
Я думаю, что подход, упомянутый в первом пункте первой ссылки, - это путь. Слишком легко распараллелить! –
@Tom: На данный момент я уже использую многопоточную библиотеку графов. Поэтому я использую их представление графа, которое не является матрицей. – Raghava