Example Biconnected ComponentsThe following example shows how to use the LEDA function for biconnected components. The program creates a graph Then Remark: The graph algorithms in LEDA are generic, that is, they accept graphs as well as parameterized graphs. #include <LEDA/graph/graph.h> #include <LEDA/graph/basic_graph_alg.h> using namespace leda; int main() { graph G; node n0=G.new_node(); node n1=G.new_node(); node n2=G.new_node(); node n3=G.new_node(); node n4=G.new_node(); node n5=G.new_node(); node n6=G.new_node(); node n7=G.new_node(); G.new_edge(n0,n1); G.new_edge(n0,n2); G.new_edge(n1,n3); G.new_edge(n2,n3); G.new_edge(n4,n5); G.new_edge(n5,n6); edge_array<int> compnum(G); int c=BICONNECTED_COMPONENTS(G,compnum); std::cout << "G has " << c << " biconnected components" << std::endl; //G has 4 biconnected components edge e; forall_edges(e,G) { std::cout << "compnum["; G.print_edge(e); std::cout << "]=" << compnum[e] << std::endl; } //compnum[e]=0 for [0]->[1],[0]->[2],[1]->[3],[2]->[3] //compnum[e]=1 for [5]->[6] //compnum[e]=2 for [4]->[5] //[7] is isolated node return 0; } |
See also:Manual Entries: |