EDIT: I'm sorry for confusing topic title, my thoughts were somewhere else :) Hello to all, I'm going to write program which will be finding all strongly connected components of hypergraph. Strongly connected component is such connected maximal subhypergraph that there exists bidirectional path between each two points contained in it. Well, is there any algorithm solving this? I found few articles mentioning Tarjan's algorithm, could it be used for such problem? Thank you.