Here's a link to the on-line LEDA manual: http://www.algorithmic-solutions.info/leda_manual/MANUAL.html Here's a short list of some LEDA commands that may come in handy. to see the graph LEDA has set up, use G.write(string s) - writes G to the file named s Example: in Test 0 after the graph is set up the line G.write("g"); produces a file named g that looks exactly like this: LEDA.GRAPH void void 4 |{}| |{}| |{}| |{}| 6 1 2 0 |{}| 1 3 0 |{}| 2 3 0 |{}| 2 3 0 |{}| 4 2 0 |{}| 4 2 0 |{}| skipping the first 3 lines, the file says there are 4 nodes, they do not have a predeclared node label, there are 6 edges, which are listed, again there is no predeclared edge label. notice that LEDA numbered the nodes in the order they were created (as expected!). if you insert the command H.write("h"); in the "check" routine (right before the call to is_bridgeless(H)) the file h will contain the graph that corresponds to the "in" array. if (alg=="carving") H.write("h"); will only print the graph that carving produced. ======================================================================== other useful LEDA commands G.succ_node(v)- returns node after v G.pred_node(v)- returns node before v G.read(string s) - reads graph from s and assigns it to G forall_adj_nodes(v,w)- nodes adjacent to w are successively assigned to v ========================================================================= if you want to number the nodes from 0 to n-1 and refer to them by your numbers, use 2 arrays: int n = G.number_of_nodes(); node* node_ptr = new node[n]; //node_ptr[i] will point to the ith node // i=0,...,n-1 node_array my_node_num (G);//my_node_number[v] will give v's number node v=G.first_node(); for ( int i=0; i