37 void print(
const std::set<El::Int>& nodes,
38 const std::map<El::Int, std::set<El::Int>>& edges,
43 get_neighbors(El::Int node,
const std::map<El::Int, std::set<El::Int>>& edges);
48 bool is_closure(
const std::set<El::Int>& nodes,
49 const std::map<El::Int, std::set<El::Int>>& edges);
57 const std::map<El::Int, std::set<El::Int>>& edges);
60 bool is_cyclic(
const std::set<El::Int>& nodes,
61 const std::map<El::Int, std::set<El::Int>>& edges);
68 std::map<El::Int, std::set<El::Int>>
70 const std::map<El::Int, std::set<El::Int>>& edges);
77 std::map<El::Int, std::set<El::Int>>
79 const std::map<El::Int, std::set<El::Int>>& edges);
87 const std::map<El::Int, std::set<El::Int>>& edges);
96 const std::map<El::Int, std::set<El::Int>>& edges);
106 const std::map<El::Int, std::set<El::Int>>& edges);
117 const std::map<El::Int, std::set<El::Int>>& edges,
118 std::map<El::Int, std::set<El::Int>>& components,
119 std::set<El::Int>& condensation_nodes,
120 std::map<El::Int, std::set<El::Int>>& condensation_edges);
std::vector< El::Int > topological_sort(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges)
std::map< El::Int, std::set< El::Int > > transpose(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges)
void condensation(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges, std::map< El::Int, std::set< El::Int >> &components, std::set< El::Int > &condensation_nodes, std::map< El::Int, std::set< El::Int >> &condensation_edges)
std::vector< El::Int > breadth_first_search(El::Int root, const std::map< El::Int, std::set< El::Int >> &edges)
bool is_cyclic(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges)
void print(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges, std::ostream &os)
std::set< El::Int > get_neighbors(El::Int node, const std::map< El::Int, std::set< El::Int >> &edges)
bool is_topologically_sorted(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges)
std::map< El::Int, std::set< El::Int > > induce_subgraph(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges)
bool is_closure(const std::set< El::Int > &nodes, const std::map< El::Int, std::set< El::Int >> &edges)
std::vector< El::Int > depth_first_search(El::Int root, const std::map< El::Int, std::set< El::Int >> &edges)