Вы должны взглянуть на Простой модульный алгоритм разложения линейного времени для графов, Использование расширения порядка, SWAT 2004 и Линейное время модульного разложения ориентированных графов, Disc. Appl. Математика 2005 для самых простых известных алгоритмов линейного времени на неориентированном и ориентированном графе соответственно.
Проблема в основном вызвала теоретический интерес, и алгоритмы, разработанные до сих пор, являются относительно сложными. Я не думаю, что это были постоянные усилия в направлении алгоритма, который на самом деле поддается реализации (то есть «не так эффективно, но проще»).
К вашему сведению, первые алгоритмы линейного времени для неориентированных графов были «Новый линейный алгоритм модульной декомпозиции». CAAP 1994 и линейная модульная декомпозиция и эффективная транзитивная ориентация графов сопоставимости .